view flys-artifacts/ChangeLog @ 3731:e32b822f3cfa

Simplified code. flys-artifacts/trunk@5404 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sat, 08 Sep 2012 15:27:21 +0000
parents 487a8cb4a222
children fe29b0226faf
line wrap: on
line source
2012-09-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/themes/DefaultThemeField.java:
	  Simplified code.

2012-09-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java:
	  Simplified code.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java:
	  Improved robustness and performance.
	  Only expose date events as Collections not TreeSets.

2012-09-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/QW.java:
	  New. a pure model for discharge and waterlevel. No extras.

	  Makes reuse in upcoming "Auslagerung extremer Wasserspiegellagen"
	  a lot easier.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/QW.java:
	  Removed.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/QWI.java:
	  Re-inserted here. Extends the new QW and adds all the extra bells
	  and whistles needed in the fixings analysis.

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java,
	  src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingResult.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Adjusted QW to QWI.

2012-09-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java;
	  Removed because code is found in backend already.

	* src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java:
	  Simplified. Please _DO_NOT_ use NullPointerExceptions for regular flow control!
	  This hides unintended errors.

2012-09-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Removed code duplication.

2012-09-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	   Removed trailing whitespace.

2012-09-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/minfo/CharDiameter.java:
	  Removed superfluous imports.

2012-09-08	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java,
	  src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
	  src/main/java/de/intevation/flys/artifacts/ChartArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java,
	  src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixATExport.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/TypeSection.java,
	  src/main/java/de/intevation/flys/jfree/DoubleBounds.java,
	  src/main/java/de/intevation/flys/jfree/Bounds.java:
	  Cosmetics, docs.

2012-09-07  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/artifacts/minfo.xml:
	  Add data fields for characteristic bed and bedload diameter.

	* src/main/java/de/intevation/flys/artifacts/states/minfo/CharDiameter.java:
	  Use parametermatrix as UI provider and set the correct data.

	* src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/MultiStringArrayState.java:
	  Updated method parameter.

	* 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 i18n strings.

2012-09-07  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 791.

	* src/main/java/de/intevation/flys/artifacts/states/EnterMultipleLocationsState.java:
	  Add start km to data to compare reference and target km in next state.

2012-09-07  Ingo Weinzierl <ingo@intevation.de>

	Tagged RELEASE 2.9

2012-09-07	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java:
	  Removed superfluous imports.

2012-09-07	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java:
	  Removed the deprecated method.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Call the new Gauge model method fetchDurationCurveData().

2012-09-06	Björn Ricks	<bjoern.ricks@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java:
	  Mark getDurationCurveData as deprecated. The instance method of Gauge with
	  the same name should be used instead.

2012-09-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java:
	  Revert accidentally committed experiment.

2012-09-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java:
	  Comments, changed order of columns as requested in issue825.

2012-09-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixATWriter.java:
	  Only goto down to Q = 0.0001 to circumvent some numerial issues
	  with steep functions around zero.

2012-09-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixATWriter.java:
	  Increase Q max about 5% (as it should be).

2012-09-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Fix for issue687

	* src/main/java/de/intevation/flys/exports/fixings/FixATWriter.java:
	  Rewrote AT export to fix it.

2012-09-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix for issue820.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Changed label for middle height/depth.

2012-09-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Default horizontal and vertical placement of logo to "center" and
	  "top" instead of "none."

2012-09-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Improved comment regarding image placement.

2012-09-03  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Fixed URLs for logos.

2012-09-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix issue744 (wrong ranges for w/q input).

	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
	  Do not add items for gauges that do not intersect with given range.

2012-09-01	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix issue829 (wrong fixation names).

	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
	  Fix check, column indices start with 0.

2012-09-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeight.java,
	  src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java,
	  src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChoiceStringAttribute.java:
	  Removed trailing whitespace.

2012-08-31	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Fix cast.

2012-08-31  Raimund Renkert <raimund.renkert@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 i18n strings for minfo bed quality parameters.

2012-08-31	Björn Ricks	<bjoern.ricks@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/ModuleService.java,
	  src/main/java/de/intevation/flys/artifacts/model/Module.java,
	  src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java,
	  src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java,
	  src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties,
	  doc/conf/conf.xml:
	  Add a module service. It's now possible to configure the modules which are
	  available for a client. With the selected attribute it is possible to give
	  a hint for the client which module should be pre selected by default.

2012-08-31  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java,
	  src/main/java/de/intevation/flys/artifacts/states/minfo/CharDiameter.java:
	  New. States for minfo bed quality calculation.

	* doc/conf/artifacts/minfo.xml:
	  Added states and transitions for minfo bed quality calculation.

2012-08-31  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
	  Refactored state to use FLYSArtifact instead of WINFOArtifact.

2012-08-31	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix issue817 (double datacage entries).

	* doc/conf/meta-data.xml: removed double entries.

2012-08-30	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	issue729, default line labels for waterlines in cross sections.

	* doc/conf/default-themes.xml: Default line label and level label
	  to true for lines in crossections..

2012-08-30	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	issue814, line labels do not follow zoom.

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Move line label into visible area if otherwise outside.

2012-08-30	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	issue695, show waterlevel as line label.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
	  Fix path to showlevel style property.

2012-08-30	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Mention how/where to change predefined logos in comment.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Mention how/where to change predefined logos in comment,
	  Use resource for images.

	* src/main/resources/images/bfg_logo.gif,
	  src/main/resources/images/intevation.png:
	  Added sample logos of intevation and bfg.

2012-08-29	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Copy and slightly modified XYChartGenerators logo mechanism.

2012-08-29	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  (getLeftX, getRightX): New and overridden to deal with inverted axis
	  for logo placement in longitudinalsection charts.

2012-08-29	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Use RectangleAnchor to set anchor of logo.

2012-08-29	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Add Logo settings to CrossSection ChartSettings.

2012-08-29	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Split logo-placement property in two, one for horizontal, one for
	vertical placement.

	* src/main/java/de/intevation/flys/exports/ChartSettings.java,
	  src/main/java/de/intevation/flys/exports/ChartSection.java:
	  Accessors for split property.
        
	* src/main/java/de/intevation/flys/exports/ChartGenerator.java
	  (logoHPlace,logoVPlace,logoPlace): Use split properties for vertical
	                                     and horizontal placement of logo.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Use split properties, respect in placement.

2012-08-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Sloppy logo placement property implementation.

	* src/main/java/de/intevation/flys/exports/ChartSettings.java:
	  Parse and set logo placement property value.
	  
	* src/main/java/de/intevation/flys/exports/ChartSection.java:
	  Accessors for Logo placement property.
	  
	* src/main/java/de/intevation/flys/exports/ChartGenerator.java
	  (logoPlace): New, get logo placement property value.
	  (showLogo): Default to "none".
	  
	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Sloppy interpretation of the logo placement property.

2012-08-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  (addLogo): New, add an image annotation to plot, very stubby,
	             use hard-coded paths for now.

2012-08-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Preparations for logo-inclusion in charts.

	* src/main/java/de/intevation/flys/exports/ChoiceStringAttribute.java:
	  New string attribute type to trigger different UI (selectboxes)
	  in client.
	  
	* src/main/java/de/intevation/flys/exports/TypeSection.java
	  (setChoiceStringValue): Create new ChoiceStringAttribute.
	  
	  
	* src/main/java/de/intevation/flys/exports/ChartSection.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartSettings.java:
	  Accessors to show logo-property.

2012-08-28  Raimund Renkert <raimund.renkert@intevation.de>

	MINFO: Implemented UI and facet/artifact stack for bed height differences.

	* src/main/java/de/intevation/flys/artifacts/model/minfo,
	  src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeight.java,
	  src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/StaticBedHeightCacheKey.java:
	  New. Facet and data object incl. factory for bed heights.

	* src/main/java/de/intevation/flys/artifacts/states/minfo,
	  src/main/java/de/intevation/flys/artifacts/states/minfo/YearEpochSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/minfo/DifferenceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/minfo/DifferencesState.java,
	  src/main/java/de/intevation/flys/artifacts/BedHeightsArtifact.java:
	  New. States for difference calculation mode and new artifact for difference
	  selection.

	* src/main/java/de/intevation/flys/artifacts/access/BedHeightAccess.java:
	  Added getter for time (year or epoch).

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new facet type.

	* doc/conf/meta-data.xml:
	  Datacage config for minfo bed heights.

	* doc/conf/artifacts/minfo.xml:
	  Added transitions and states for minfo difference calculation.

	* doc/conf/conf.xml:
	  Added artifact factory.

	* 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 i18n strings.

2012-08-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartSettings.java:
	  (setDisplayGird, setDisplayGrid): Fixed typos.

2012-08-23  Raimund Renkert <raimund.renkert@intevation.de>

	FixA: Changed sector average form point to line in delta W(t) chart.

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Add data points for sector average and changed time unit for analysis period
	  from month to day.

	* doc/conf/default-themes.xml:
	  Changed theme for sector average to color line.

2012-08-23  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 716. FixA: Spilt reference and analysis period themes into one theme for each event.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java:
	  Create a facet for each event and use new facet for sector average in
	  longitudinal section chart.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java:
	  The facets now return data for a single event.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAvSectorFacet.java:
	  New. This facet returns an analysis period containing the calculated
	  average.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java:
	  Added methods to get the dates for all reference and analysis period events.

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Fixed range combining.

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java:
	  Adjusted generators to use the data returned by the facets.

	* 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 i18n strings.

2012-08-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java:
	  Using trove to map int->int instead of bloated generics.

2012-08-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Prevent another NPE. Removed dead code.

2012-08-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java:
	  Each analysis period has its own index scheme now.

2012-08-22	Christian Lins	<christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Fix for NullPointerException.

2012-08-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java:
	  Made indices of analysis periods QWs zero based.

2012-08-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/QW.java:
	  Store index, too.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java:
	  Adjusted to keep constructors in sync.

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java:
	  Set QD index to the values of the column cache columns.

2012-08-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Use the column cache to establish a consistent index scheme.
	TODO: Store the index values in the created QWDs.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  doFitting() fetches the columns from column cache, too.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java:
	  Reuse same column cache from fitting to have the same index scheme.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java:
	  Adjusted to use the column cache.

2012-08-22	Christian Lins	<christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/HYKFacet.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Fix NullPointerExceptions in cross section diagrams that occurred when
	  no HYKs are available for the selected kms.

	* src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_de.properties:
	  Typo, see issue #806

2012-08-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixATExport.java:
	  Removed superfluous import. s/Double.valueOf/Double.parseDouble/.

2012-08-17  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixATExport.java:
	  Removed debug outputs.

2012-08-17  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixATExport.java:
	  New. Exporter for FixAnaylsis AT files.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java:
	  Add facet for AT export.

	* doc/conf/conf.xml:
	  Added out generator for fix AT export.

	* doc/conf/artifacts/fixanalysis.xml:
	  Added outputmode for AT export.

2012-08-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml: Add more facets to
	  compat list, removed doubled wq output.

2012-08-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java:
	  Shorten overlong lines. Simplified code.

2012-08-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java:
	  Interpolate and reduce WQKms if currentKm found in context.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Handle WQKms in WQOuts.

2012-08-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml: Add longitudinal section
	  facet type to compatibility list of W/Q diags.

2012-08-16  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FunctionSelect.java:
	  Added getter for ui provider.

2012-08-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  BasicStroke constructor takes an float as first argument
	  so there is no need to blow up an 'int' to an Integer
	  which is auto-unboxed to int which is implicitly cast to float.

2012-08-15	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Do not hard-recommend gauge-dis. for fixwq.

2012-08-15	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java:
	  Fail more gracefully.

2012-08-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: More former calculations in fixA (dwt) DC.

2012-08-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: More former calculations in fixA DC.

2012-08-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml: Add discharge curve facet to
	  compat. list.

	* doc/conf/meta-data.xml: Show discharge curves for FixA WQ DC.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Handle discharge curve data.

2012-08-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml: Add more facets to compat. list.

	* doc/conf/meta-data.xml: Show more additional data in FixA w/q-diag.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Handle new, annotation-type facets.

2012-08-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml: Added wqkms facets to comp. list.

	* doc/conf/meta-data.xml: Add wq-basedata and other stubs to fixA dc.

	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java
	  (getWQAtKm): Adjusted behaviour such that passed km can be
	  respected.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Handle WQFacets.

	* src/main/java/de/intevation/flys/artifacts/model/WQFacet.java:
	  Pass contexts current_km if available.

2012-08-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml: Added deltawt-out.

2012-08-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Show former calculations in FixA WQ-DC.

2012-08-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Show more former calculations in DeltaWTs
	  and fix query (and/or/() precedences).

2012-08-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Show more former calculations in fixA LS.

2012-08-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/conf.xml: Renamed qsector(s) factory.

2012-08-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Load annotations for fixA long.sections.
	  Add stubs for "old calculations"-dc-conf for various FixA outs.

	* src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java:
	  Handle annotation outs.

2012-08-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml, doc/conf/default-themes.xml:
	  Added theme fields for qsectors label.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Add markers for the qsectors.

2012-08-10	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml, doc/conf/default-themes.xml:
	  Fix some typos, correct defaults and add mapping for qsector-theme.

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  Cosmetics.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Add accidentally omitted change, stub for style-handling.

2012-08-10	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/QSectorFacet.java,
	  src/main/java/de/intevation/flys/artifacts/states/QSectorSingleState.java,
	  src/main/java/de/intevation/flys/artifacts/QSectorArtifact.java:
	  Wording and i18n of qsectors.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Add Markers to plot for qsectors.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  i18n for qsectors.

2012-08-10	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/QSectorSingleState.java:
	  New, accidentally omitted single state of a qsector-artifact.

2012-08-10	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml: Add qsectors-facet to
	  compatibility list.

	* doc/conf/conf.xml: Register qsector artifact and its factory.

	* doc/conf/meta-data.xml: Recommend qsectors in fix w/q settings.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Add qsector facet type.

2012-08-10	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/qsector.xml:
	  Trivial state model for qsector artifact.

	* src/main/java/de/intevation/flys/artifacts/model/QSectorFacet.java:
	  Rather trivial facet to get QSectors from QSectorArtifact.

	* src/main/java/de/intevation/flys/artifacts/QSectorArtifact.java:
	  New QSectorArtifact.

2012-08-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java,
	  src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
	  Cosmetics.

2012-08-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/Fitting.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java:
	  Removed superfluous imports.

2012-08-08	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Set info attribute (will evaluate as tooltip
	  in GUI.

2012-08-07	Felix Wolfsteller	<felix.wolfsteller@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:
	  Reflect fact that there can be only one reference station.

2012-08-07	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix issue798.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Set Tick Units dependant on cm/m scale on X axis.

2012-08-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Fix for flys/issue748

	* src/main/java/de/intevation/flys/artifacts/model/sq/Fitting.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java:
	  Only remove one data point per outlier removal iteration.

2012-07-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/Outlier.java:
	  Only evict only one(!) data point as outlier.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java:
	  Recalculate the function when one point is removed.

2012-07-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/Outlier.java:
	  Corrected the formulas of Grubbs' test for outliers.
	  TODO: Remove only one(!) data point. Currently it removes
	  more than on point without recalculating the fitting curve.
	  This leads to too much removed points.

2012-07-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/SQRelation.java:
	  Setup better initial activity for the facets of the S/Q results.

2012-07-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Use getCurrentKmFromRequest().doubleValue() in i18n formatting.

2012-07-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  getCurrentKmFromRequest returns Double(!) not double.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
	  Use Double.parseDouble() instead od Double.valueOf().

2012-07-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/SQRelation.java:
	  Initially activate/deactivate facets.

2012-07-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java,
	  src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Refactored to use the new Chain-of-responsibility pattern in facet
	  activation.

2012-07-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/GaugeInfoService.java:
	  Made expensive XMLUtils.toString() debug output conditional.

2012-07-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Use the new infrastructure to figure out if a facet should
	be initially active or not.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
	  Uses the FacetActivity.Registry to look up the initial acitiviy.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Do not use sub classing any more.

	* src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/HYKArtifact.java:
	  Register to FacetActivity.Registry now. TODO: Make it configurable.

2012-07-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/themes/ThemeFactory.java,
	  src/main/java/de/intevation/flys/collections/CollectionAttribute.java,
	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java,
	  src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/ChartArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MapArtifact.java:
	  s/container.size() == 0/container.isEmpty()/

2012-07-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Lowered logging output level from info to debug.
	  Made some more debug outputs conditional.

2012-07-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Some code simplifications.

2012-07-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Extented the result data model of the S/Q calculation to
	store the curve coefficients for each iteration step
	of the outlier elimination. The starting data set of S/Qs
	is stored as well.

	TODOs:
	- Create the new facets as inactive.
	- Repair the facet to style mapping.

	* doc/conf/themes.xml: Added mappings for new facets.

	* doc/conf/artifacts/minfo.xml: Configured the new facets.

	* src/main/java/de/intevation/flys/exports/sq/SQRelationExporter.java:
	  Adjusted to new data model.

	* src/main/java/de/intevation/flys/artifacts/states/SQRelation.java:
	  Generate facets for outlier curves and measurements. Simplified code.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  New facet types for outlier curves and meassurements.

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  New set() method to set an array of values by their names.

	* src/main/java/de/intevation/flys/artifacts/model/Segment.java:
	  Removed trailing whitespace.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/SQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/SQMeasurementFacet.java:
	  Adjusted to new data model. Curves are drawn over the whole length of the
	  starting S/Q dataset.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierCurveFacet.java:
	  New. Facet for the curves of the outlier test iterations.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierMeasurementFacet.java
	  New. Facet for the meassurement data remainind after outlier test iteration.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Now creates the new data model.

	* src/main/java/de/intevation/flys/artifacts/model/sq/Fitting.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java:
	  Refactorted to have more control over the data structures to be generated.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java:
	  The new data model to represnt a fraction result. Each outlier test iteration
	  results in a different iteration object.

	* 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 i18n strings for new facets.

2012-07-27  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/QWDDateRange.java:
	  Added method getQWD() to retrieve the QWD property.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Avoid class cast exceptions; a QWDDateRange object is returned by WQ
	  sector average Facet - not a QWD object. Use new getter method to
	  retrieve the required data object.

2012-07-27  Ingo Weinzierl <ingo@intevation.de>

	Tagged module as '2.8.1'.

2012-07-26	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/QWDDateRange.java:
	  New class. QWD and a DateRange.

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java:
	  Produce QWDDateRanges in state, consume in generator.

2012-07-26  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml: Registered new Output
	  'fix_vollmer_wq_curve'.

	* doc/conf/conf.xml: Registered new FixWQCurveGenerator for
	  'fix_vollmer_wq_curve'.

	* 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 names for Facets
	  used in 'fix_vollmer_wq_curve' Output.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java:
	  Make use of FitResult (parent of FixAnalysisResult) which is enough for
	  these Facets instead of casting the calculation result to
	  FixAnalysisResult.

	* src/main/java/de/intevation/flys/artifacts/access/FixAnalysisAccess.java:
	  Fixed potential NullpointerException.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java:
	  Create new Facets for WQ curve, fix events and outliers.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Add subtitles only if the required data (date period and referenence
	  period) are existing. Otherwise do not add a subtitle.

2012-07-26	Felix Wolfsteller	<felix.wolfsteller@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:
	  Adjusted i18n strings (vollmer).

2012-07-26	Christian Lins	<christian.lins@intevation.de>

	* doc/conf/virtual-themes.xml,
	  src/main/java/de/intevation/flys/utils/ThemeUtil.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/themes/ThemeAccess.java,
	  src/main/java/de/intevation/flys/themes/TextStyle.java,
	  src/main/java/de/intevation/flys/themes/LineStyle.java,
	  src/main/java/de/intevation/flys/themes/ThemeFactory.java,
	  src/main/java/de/intevation/flys/themes/PointStyle.java,
	  src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java,
	  src/main/java/de/intevation/flys/jfree/XYStyle.java,
	  src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java:
	  Line labels and point labels share same styles and code.
	  Point labels can have a background color.

2012-07-26	Felix Wolfsteller	<felix.wolfsteller@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:
	  Adjusted i18n strings (vollmer).

2012-07-26  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml: Registered new Output
	  'fix_waterlevel_export' for FixRealizingCompute State.

	* doc/conf/conf.xml: Registered new WaterlevelExport Generator for
	  'fix_waterlevel_export'.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java:
	  Create proper CSV, WST and PDF Facets with hash and State id.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Made
	  WaterlevelExporter support FixRealizingResult objects.

2012-07-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixWaterlevelFacet.java:
	  Removed instanceof hack to fetch the WQKms of the fix realizations.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixWaterlevelFacet.java:
	  New. Subclass of WaterlevelFacet. Used to fetch the WQKms the fix realization way.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java:
	  Create the subclassed waterlevel facets.

2012-07-25  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java:
	  Create proper facets for Ws and Qs.

2012-07-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java:
	  Also add Q-Facet.

2012-07-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java:
	  Add WaterlevelFacet.

	* doc/conf/artifacts/fixanalysis.xml:
	  Add output and facet compability.

2012-07-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/access/FixRealizingAccess.java:
	  Fix data names in FixRealizingAccess.

2012-07-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java:
	  Handle slightly different access to Fixation-WQKms.

2012-07-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java:
	  Handle slightly different access to Fixation-WQKms.

2012-07-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationSelect.java:
	  Fix (last?) vol(l)mer naming issue.

2012-07-24	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/StateFactory.java,
	  src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java
	  src/main/java/de/intevation/flys/themes/ThemeMapping.java:
	  s/.equals("")/.length() == 0/

2012-07-24	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation6.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQTimerange.java,
	  src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Removed some superfluous casts.

2012-07-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Removed some inner whitespace.

2012-07-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java:
	  New base class for fixing analysis results.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingResult.java:
	  Inherits from FixResult.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java:
	  Calculation returns FixRealizingResult.

	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
	  Remove superfluous import.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
	  Cosmetics.

2012-07-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Broke over long line.

	* src/main/java/de/intevation/flys/artifacts/model/Segment.java:
	  Added some getters.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java:
	  Calculated the Q -> Ws. TODO: Produce result.

2012-07-23	Felix Wolfsteller	<felix.wolfsteller@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:
	  Adjusted i18n strings (vollmer).

2012-07-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/LocationSelect.java:
	  Set ld_mode so that FLYSUtils can use it.

2012-07-23	Felix Wolfsteller	<felix.wolfsteller@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:
	  Adjusted i18n strings (vollmer).

2012-07-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
	  Handle FixationArtifacts with as much care as WINFOArtifacts,
	  by using refactore FLYSUtils.

2012-07-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Towards per-Gauge-input of W/Q values for FixationArtifact.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/utils/FLYSUtils.java:
	  (getGauges): Refactored, moved from WINFOArtifact to FLYSUtils.
	
	* src/main/java/de/intevation/flys/utils/FLYSUtils.java:
	  Handle unlucky differences in names of data for
	  WINFOArtifact/FixationArtifact.
	
	* doc/conf/artifacts/fixanalysis.xml:
	  (Re-)use WQAdapted State for fix.analysis.

2012-07-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml,
	  src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/HYKFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/RelativePointFacet.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/QSelect.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java,
	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Cosmetics, docs.

2012-07-23	Christian Lins	<christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Segment.java,
	  src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
	  Moved code to convert W to Q at gauge to segments to be reusable.

2012-07-23	Christian Lins	<christian.lins@intevation.de>

	* doc/conf/themes.xml,
	  doc/conf/second-themes.xml,
	  doc/conf/default-themes.xml:
	  Remove line style attributes from FixingReferenceEvents theme.

2012-07-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java
	  src/main/java/de/intevation/flys/artifacts/model/Segment.java:
	  Moved reference point comparator to segment class be be reusable
	  in FixA 'ausgelagerte Wasserspiegellagen'.

2012-07-23	Christian Lins	<christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Simplify annotation code.

2012-07-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Made abstract. Sub classes have to overwrite innerCalculate()
	  calculate() now figures out the fixings overview and the function
	  to fit and passes it to innerCalculate()

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java:
	  Overrides innerCalculate() now.

2012-07-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Prevent NPE in getOutputForState(). Why does this happen?

2012-07-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Made curve fitting over the given calculation range reusable. Removed dead code.

2012-07-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java:
	  Moved more common code into base class.

2012-07-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/fixoverview2html.xsl: Clip the displayed from/to ranges
	  of the gauges to the max extent of the events.

2012-07-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/fixoverview2html.xsl: Embed german and english translations
	  into the stylesheet. This should be better done by importing
	  an external resource depending on the choosen locale!

2012-07-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/fixoverview2html.xsl: Introduced i18n to transformation.

2012-07-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Wrong epsilon was taken so sector aggregation was not working
	  leading to too large result documents and wrong range display
	  on client side.

2012-07-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/fixoverview2html.xsl: Render the names of the gauges into
	  the header line. Full name and spread is displayed as a tooltip.

2012-07-20  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/minfo.xml: Use SQPeriodSelect state for the input of
	  a time range. The difference to PeriodSelect is the UI provider desired
	  by this state.

	* src/main/java/de/intevation/flys/artifacts/states/sq/SQPeriodSelect.java:
	  New subclass of PeriodSelect; this state wants to be rendered in a
	  'sq.period.select' UI provider.

2012-07-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/fixoverview2html.xsl: To help developing the 
	  HTML overview stylsheet more quickly bring back in sync with
	  version of the flys-client.

2012-07-20  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/minfo.xml: Changed the parameters for SQ relation
	  period selection; only a single period is allowed now.

	* src/main/java/de/intevation/flys/artifacts/states/PeriodSelect.java: New
	  class that allows the selection of a time period.

	* src/main/java/de/intevation/flys/artifacts/access/SQRelationAccess.java:
	  Reduced support of time periods to a single period.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Adapted the usage of SQRelationAccess which method signature has
	  changed; it returns a single DateRange instance only.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Modified the keys of the
	  state for SQ relation time period input.

2012-07-20  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/sq/SQOverviewGenerator.java:
	  Disabled legends in this overview.

2012-07-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/sq/SQOverviewGenerator.java:
	  Removed superfluous imports.

2012-07-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/resources/messages_de.properties,
	  src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties:
	  Fixed anomalies.

2012-07-20  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/ReportGenerator.java,
	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
	  src/main/java/de/intevation/flys/exports/ATExporter.java,
	  src/main/java/de/intevation/flys/exports/sq/SQOverviewGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/MapGenerator.java,
	  src/main/java/de/intevation/flys/exports/OutGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
	  Added a setCollection() method that allows the caller of OutGenerators
	  to set a reference to a FLYSArtifactCollection.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Use setCollection() to set the reference to the current
	  FLYSArtifactCollection before using OutGenerators.

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

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Add a list of gauges which intersect the range of the selected columns:

	    <fixings>
	      <gauges from="..." to="..." name="..."/>
	      ...
	      <gauges from="..." to="..." name="..."/>
	    </fixings>

	* src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java:
	  Store the name of the gauge, too.

	* src/main/java/de/intevation/flys/artifacts/model/GaugeFinderFactory.java:
	  Load the names of the gauges from database, too.

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java:
	  Some minor refactoring.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java:
	  Call super constructor to retrieve the common data from the artifact.

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  New. Common base class for Fix*Calculations.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java:
	  Moved common stuff to base class FixCalculation.

	 * src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java:
	   Inherit from FixCalculation.

	* src/main/java/de/intevation/flys/artifacts/access/FixRealizingAccess.java:
	  Extract parameters that are only relevant for the
	  'Ausgelagerte Wasserspiegellagen' calculation.

	  isQ():         Must we convert the given values from W to Q first?
	                 Used data field: 'fix_isq'
	  getSegments(): Segments same semantics as WINFO's 
	                 'W fuer ungleichwertige Abfluesse.'
	                 Used data field: 'fix_segments'

	* src/main/java/de/intevation/flys/artifacts/model/Segment.java,
	  src/main/java/de/intevation/flys/artifacts/access/FixAccess.java:
	  Cosmetics.

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/access/FixAccess.java:
	  New. Common base class for the Fix*Access.

	* src/main/java/de/intevation/flys/artifacts/access/FixAnalysisAccess.java,
	  src/main/java/de/intevation/flys/artifacts/access/FixRealizingAccess.java:
	  Now inherit from FixAccess.

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/ParametersExporter.java:
	  Prevent NPE.

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixFacetUtils.java:
	  Use constant to lookup column instead of dynamically allocated array.

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java:
	  Removed.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java:
	  Re-added here.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalDeviationFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java,
	  src/main/java/de/intevation/flys/exports/fixings/ParametersExporter.java,
	  src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java:
	  Adjusted.

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java:
	  New. Stub for 'Ausgelagerte Wasserspiegellagen' calculation.

	* src/main/java/de/intevation/flys/artifacts/access/FixRealizingAccess.java:
	  New. Stub for accessing the artifact to extract the relevant parameters
	  for the 'ausgelagerte Wasserspiegellagen' calculation.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java:
	  Call the calculation if the state is reached.

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Removed trailing whitespace.

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationVolmerCompute.java:
	  Deleted.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java:
	  Re-added here.

	* doc/conf/artifacts/fixanalysis.xml: Adjusted. BTW: Vollmer is spelled with two 'l's.

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Removed.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java:
	  Re-added.

	* doc/conf/artifacts/fixanalysis.xml: Adjusted.

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Deleted

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java:
	  Re-added.

	* src/main/java/de/intevation/flys/artifacts/access/FixAnalysisAccess.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Adjusted class name usage.

2012-07-19	Christian Lins	<christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java,
	  src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  native2ascii with properties files.
	  Show analysis periods as subtitle in W/Q chart.

2012-07-19	Christian Lins	<christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
	  src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  Add subtitle to Fix W/Q chart.
	  Move addSubtitle() code from generators up to ChartGenerate which saves 
	  a lot of duplicate code.

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java:
	  Deleted.

	* src/main/java/de/intevation/flys/artifacts/access/FixAnalysisAccess.java:
	  Re-added.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalDeviationFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Adjusted class name usage.

2012-07-19  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Sourced code to set default values of a parameter to an own method.
	  Subclasses should override this method.

	* src/main/java/de/intevation/flys/artifacts/states/OutliersInput.java:
	  Set default value for outliers to "3".

2012-07-19	Christian Lins	<christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java,
	  src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  Add kilometer info to chart titles.

2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSHwsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSLineArtifact.java,
	  src/main/java/de/intevation/flys/utils/ThemeUtil.java,
	  src/main/java/de/intevation/flys/utils/FLYSUtils.java,
	  src/main/java/de/intevation/flys/exports/ChartSettings.java,
	  src/main/java/de/intevation/flys/jfree/XYStyle.java:
	  Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
	
2012-07-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Replaced "string -> object -> native -> object" by simple "string -> object".
	  Removed stupid duplicate XPathing.

2012-07-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java:
	  Use only blue as point color.

2012-07-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Adjusted Delta W(t) CSV exporter to customers wishes.

	* src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java:
	  Reordered columns, removed description, added W and formatted date
	  via i18n.

	* src/main/java/de/intevation/flys/utils/Formatter.java:
	  Added method to get a formatter based on pattern and locale.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  Adjusted i18n strings.

2012-07-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Classify each discharge range by the gauges which intersect it.

	* src/main/java/de/intevation/flys/artifacts/model/Range.java:
	  Added convinience constructor.

	* src/main/java/de/intevation/flys/artifacts/model/GaugeFinder.java:
	  Added method to return all gauges.

2012-07-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Use bandwidth parameter for width of band, adjusted name to be
	  displayed in legend.

2012-07-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/default-themes.xml,
	  src/main/java/de/intevation/flys/utils/ThemeUtil.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Change bandwidth type to double (still bugged, round integers still
	  work, though).

2012-07-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java:
	  Added column for time range.

	* 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 i18n strings.

	* src/main/java/de/intevation/flys/artifacts/resources/Resources.java:
	  Fixed stupid formatting bug.

2012-07-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java:
	  Added discharge column.

	* 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 missing strings.

2012-07-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java:
	  Removed trailing whitespace.

2012-07-17	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java,
	  src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java,
	  src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java,
	  src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java,
	  src/main/java/de/intevation/flys/collections/CollectionAttribute.java:
	  Cosmetics, doc.

2012-07-17	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial implementation of issue720 (bandwith for curves), in
	longitudinal section ws only, no styling, integer-based.

	* doc/conf/default-themes.xml: Add bandwidth to fields of longitudinal
	  section facets.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Add bandwidth
	  theme parsing.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  If bandwidth is set, add an area data series with datapoints
	  above/under the actual data points.

	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java:
	  Helper for adding points with offset.

2012-07-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java:
	  Use Q_BPEGEL as symbolic name for Q

	* src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java:
	  Out commented the LEFT JOINs which produce a lot of empty and
	  redundant data. Bring them back in when we treat subsamples right.

2012-07-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Added getValue() method.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Store location of calculation in result, too.
	  
	* src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java:
	  Added method getTotalCount() to return the number of used S/Q pairs.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQResult.java:
	  Store location of result, too.

	* src/main/java/de/intevation/flys/exports/sq/SQRelationExporter.java:
	  Write parameters as export result.

2012-07-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
	  Bit of doc.

	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java:
	  TODO for automatic official lines added.

2012-07-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Out commented debug output which caused OOM errors.

2012-07-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/SQOverview.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java:
	  Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL

	* src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java:
	  Fixed indentation. More macros.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Removed trailing whitespace.

2012-07-16  Ingo Weinzierl <ingo@intevation.de>

	* Tagged module as '2.8'.

2012-07-15	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/jfree/StyledXYSeries.java,
	  src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java,
	  src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java,
	  src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java,
	  src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/SQRelation.java,
	  src/main/java/de/intevation/flys/artifacts/states/OutliersInput.java,
	  src/main/java/de/intevation/flys/artifacts/states/PeriodsSelect.java,
	  src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java,
	  src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQKmsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java,
	  src/main/java/de/intevation/flys/artifacts/model/RelativePointFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java,
	  src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQFacet.java:
	  Removed same package imports.

2012-07-15	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Lowered log level.

2012-07-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Allow manual loading of official lines in
	  longitudinal_discharge diagrams.

2012-07-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
	  Prevent nasty NPE (hidden by autobox).

2012-07-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java:
	  Suppress data points with values <= 0 because they kill JFreeChart's
	  log/log diagrams.

2012-07-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java:
	  Fixed more SQL syntax errors.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Generate more than one SQResult (To my big suprise it's possible).

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/SQCurveFacet.java.
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java:
	  Made more NPE bullet proof.

2012-07-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java:
	  Fixed problem with string operation precedence.

2012-07-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: very basic official lines matching the current
	  artifact (for this it is wrongly placed in previous calc.-part, for
	  now.

2012-07-13	Christian Lins	<christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java:
	  Create shapefile directory instead of shapefile 'file'.

2012-07-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java,
	  src/main/java/de/intevation/flys/artifacts/WMSFixpointsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java:
	  Removed translation whitespace.

2012-07-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java:
	  Finally! SQResult is build and should be ready for display. :-)

2012-07-13	Christian Lins <christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java,
	  src/main/java/de/intevation/flys/utils/GeometryUtils.java:
	  Fix and workaround NullPointerExceptions.

2012-07-13  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/wsplgen/WSPLGENCallable.java,
	  src/main/java/de/intevation/flys/wsplgen/FacetCreator.java,
	  src/main/java/de/intevation/flys/wsplgen/JobObserver.java,
	  src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java,
	  src/main/java/de/intevation/flys/wsplgen/Scheduler.java,
	  src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java,
	  src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MapArtifact.java,
	  src/main/java/de/intevation/flys/utils/MapfileGenerator.java,
	  src/main/java/de/intevation/flys/exports/MapGenerator.java: 
	  Organized and added missing imports.

2012-07-13  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Added new
	  functions to reproject an Envelope from one CoordinateReferenceSystem to
	  antoher.

	* src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSFixpointsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSFloodmapsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSHwsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java,
	  src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryPolyArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSGaugeLocationArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSLineArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java:
	  The getExtent() method will now return the extent of the layer in the
	  coordinate reference system that is configured for the specific river.

2012-07-13  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java,
	  src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/WSPLGENLayerFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/WSPLGENCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/WSPLGENReportFacet.java:
	  Moved to subpackage map.

	* src/main/java/de/intevation/flys/artifacts/model/map/WSPLGENLayerFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/map/WMSLayerFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/map/WSPLGENJob.java,
	  src/main/java/de/intevation/flys/artifacts/model/map/WMSDBLayerFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/map/WSPLGENCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/map/WSPLGENReportFacet.java:
	  Moved from upper package.

2012-07-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQOverviewFacet.java,
	  src/main/java/de/intevation/flys/exports/OutputHelper.java,
	  src/main/java/de/intevation/flys/exports/sq/SQOverviewGenerator.java:
	  Added missing vim lines.

2012-07-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQOverviewFacet.java,
	  src/main/java/de/intevation/flys/exports/OutputHelper.java:
	  Removed trailing whitespace.

2012-07-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

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

2012-07-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Only use first period of the time periods given by the UI.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQResult.java:
	  Added some more index checking.

2012-07-13  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQOverviewFacet.java:
	  New. Facet for chart overview in sq relation.

	* src/main/java/de/intevation/flys/exports/sq/SQOverviewGenerator.java:
	  New. Generator for chart overview. This generator is not used jet.
	  Currently we generate the overview on client side by putting all charts in a
	  simple grid, cause the charts rendered by this generator are empty.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new Facet type.

	* src/main/java/de/intevation/flys/artifacts/states/SQRelation.java:
	  Add facets for overview.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Avoid a NPE in legend entry aggregation.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Moved log output to avoid NPE.

	* doc/conf/artifacts/minfo.xml:
	  Added new output for chart overview.

2012-07-13  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Refactored. Moved some functionality to FLYSContext and OutputHelper.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java:
	  Added 'getOutGenerator' to get a concrete generator. Moved from
	  FLYSArtifactCollection.

	* src/main/java/de/intevation/flys/exports/OutputHelper.java:
	  New. Provides the 'doOut' functionality for FYLSArtifactCollection.

2012-07-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/Measurements.java:
	  Handle the error case of accessing wrong indexed SQ relation
	  more smoothly.

2012-07-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java:
	  Added access to the data of GSIEBSATZ and SSIEBUNG.

2012-07-12	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java:
	  Added the left joins to the GSIEBSATZ and SSIEBUNG tables.

2012-07-12	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java:
	  Do not store null values from database.

2012-07-12	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/Measurements.java:
	  New. Container for measurements. Helps to extract the S/Q fractions.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Now uses the measurements container.

	* src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java:
	  Added convenience methods to extract the different fractions.
	  DONE: Q, S_SS, S_SF
	  TODO: S_BL_S, S_BL_FG, S_BL_CG, S_BL

	* src/main/java/de/intevation/flys/artifacts/model/SQOverview.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java:
	  Relax existence of SIEBSATZID.
	  We have to use a left join during data extraction anyway.
	  We force the existence of Q because we cannot do the fitting if
	  we don't have them.

2012-07-12	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java:
	  New. Access to the data from the SedDB.

	* src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java:
	  Load measurements from SedDB.
	
	* src/main/java/de/intevation/flys/artifacts/model/SQOverview.java:
	  Force NOT NULL for discharge values, too.

	* src/main/java/de/intevation/flys/artifacts/model/SQOverviewFactory.java:
	  Indentation fix.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Iterate over all given periods.
	  
2012-07-12	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/SQKMChartService.java:
	  Fixed wrong logger class.

2012-07-12	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	 src/main/java/de/intevation/flys/artifacts/model/SQOverview.java:
	 Filter out the meassures which don't have a related 'Siebsatz'.

	 doc/conf/cache.xml: Added forgotten cache for sq-overview.

	 src/main/java/de/intevation/flys/artifacts/model/SQOverviewFactory.java:
	 Added vim line.

2012-07-12	Christian Lins <christian.lins@intevation.de>

	* doc/conf/default-themes.xml,
	  doc/conf/virtual-themes.xml,
	  src/main/java/de/intevation/flys/utils/ThemeUtil.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java,
	  src/main/java/de/intevation/flys/themes/ThemeAccess.java:
	  Add showpointlabel style attribute. Refactor some styles to make use of
	  general attributes in the virtual themes.

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java:
	  Suppress or fix some warnings.

2012-07-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/conf.xml: Fix class name.

2012-07-11	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java,
	  src/main/java/de/intevation/flys/utils/FLYSUtils.java,
	  src/main/java/de/intevation/flys/exports/ChartExportHelper.java,
	  src/main/java/de/intevation/flys/exports/WstWriter.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java,
	  src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Various cosmetic doc fixes.

2012-07-11	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Make official lines available in dc for
	  manual loading in longitudinal sections.

2012-07-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/Sieve.java:
	  Simulates a sieve to separate the differen fractions from each other.

2012-07-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DateRange.java,
	  src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Removed trailing whitespace.

2012-07-11	Christian Lins <christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DateRange.java,
	  src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java,
	  src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  Delta W(t) chart subtitle now with real values and correct i18n.


2012-07-11	Christian Lins <christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Re-add HYK rendering code again to CrossSectionGenerator (fix for #712).


2012-07-10	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/SQKMChartService.java,
	  src/main/java/de/intevation/flys/artifacts/model/SQOverview.java:
	  Removed superfluous imports.

2012-07-10	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/SQOverview.java:
	  Made km separating of dates epsilon tolerant and avoid empty date lists.

2012-07-10  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/SQKMChartService.java:
	  New. Service that generates an overview chart for measuring points.

	* src/main/java/de/intevation/flys/artifacts/model/SQOverview.java:
	  New. Instance of measuring points overview data.

	* src/main/java/de/intevation/flys/artifacts/model/SQOverviewFactory.java:
	  New. Foctory for overview data objects.

	* doc/conf/conf.xml:
	  Added new service to config.

	* 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 i18n strings.

2012-07-10	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix for issue694.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  Also resolve edge cases (last/first cross section km).

2012-07-10	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial fix for issue694 (Heightmarks snap to nearest cross section
	line).

	* src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java:
	  Extended signature of getWaterLines to allow behaviour of only
	  delivering data if it snaps to the km (is closest).

	* src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Documentation, updated signature of getWaterLines().

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  Remember if Heightmarks are displayed, if so deliver data
	  only if cross-section is closest (snap).

	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
	  Make next and previous km of cross-sections available as data.

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
	  Provide next and previous cross-section km via blackboard, adjusted
	  call to getWaterLines.

2012-07-10	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Removed trailing whitespace.

2012-07-10	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
	  src/main/java/de/intevation/flys/exports/ChartExportHelper.java,
	  src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/MiddleBedHeightGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/OutGenerator.java,
	  src/main/java/de/intevation/flys/exports/FlowVelocityGenerator.java:
	  Fix various documentation issues.

2012-07-10	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java,
	  src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesExporter.java,
	  src/main/java/de/intevation/flys/exports/ChartHelper.java,
	  src/main/java/de/intevation/flys/exports/MiddleBedHeightGenerator.java,
	  src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java,
	  src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Fix various issues in the hard-to-find documentation.

2012-07-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* pom.xml: Configure javadoc mojo to include doc for protected/private.

2012-07-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/themes2html.xsl: Create a list of direct sub themes
	  of a theme.

2012-07-08	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/datacage-config-manual/Makefile: New, added Makefile.

2012-07-08	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation2.java,
	  src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java,
	  src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
	  src/main/java/de/intevation/flys/jfree/HasLabel.java:
	  Cosmetics, docs.

2012-07-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java:
	  Fixed XPath typo.

2012-07-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Removed dynamic XPaths to pervent potential XPath injections.

2012-07-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/themes2html.xsl: New. Transformation to get a better
	  overview of themes.xml. Usage:

	  $ xsltproc --path doc/conf    \
	        contrib/themes2html.xsl \
	        doc/conf/themes.xml     \
	        > themes.xhtml

	  Use browser to view the resulting file.

2012-07-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/second-themes.xml: Name the second themegroup 'second'
	  instead of 'default' to avoid clashes with the real 'default'
	  themegroup.

2012-07-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/default-themes.xml,
	  doc/conf/virtual-themes.xml,
	  doc/conf/themes.xml,
	  doc/conf/second-themes.xml:
	  Added xml processing instruction.

2012-07-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/fitting/InvLog.java,
	  src/main/java/de/intevation/flys/artifacts/access/Access.java,
	  src/main/java/de/intevation/flys/artifacts/access/BedHeightAccess.java,
	  src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorA.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorB.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorC.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorD.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorE.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorF.java,
	  src/main/java/de/intevation/flys/exports/ChartArea.java,
	  src/main/java/de/intevation/flys/jfree/StyledValueMarker.java,
	  src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java:
	  Added vim lines.

2012-07-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java,
	  src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/access/BedHeightAccess.java,
	  src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java:
	  Replaced tabs with four spaces each.

2012-07-07	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartArea.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Removed superfluous imports.

2012-07-07	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java,
	  src/main/java/de/intevation/flys/jfree/StyledValueMarker.java,
	  src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java,
	  src/main/java/de/intevation/flys/utils/ThemeUtil.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Removed trailing whitespace.

2012-07-06	Christian Lins <christian.lins@intevation.de>

	* doc/conf/*-themes.xml,
	  src/main/java/de/intevation/flys/utils/ThemeUtil.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java,
	  src/main/java/de/intevation/flys/jfree/StyledValueMarker.java,
	  src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java,
	  src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  Add styles for W(t) domain markers.

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java:
	  Remove false @override.

2012-07-06	Christian Lins <christian.lins@intevation.de>

	* doc/conf/themes.xml,
	  doc/conf/second-themes.xml,
	  doc/conf/default-themes.xml:
	  Add missing themes for fixation charts.

2012-07-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix issue705 (names for mainvalues in export).

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
	  Documentation and use NamedMainValues irrespective of WQ-type (
	  single vs range).

2012-07-06	Christian Lins <christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  W(t) chart label rotation now working (see #684)

2012-07-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Removed solved TODO.

2012-07-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix issue710 (crashing diagrams with only one point).

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Expand the range/bounds where its added.

2012-07-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java
	  (expandPointRange): Fix weird code with help of new ChartHelper
	  method.

2012-07-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartHelper.java
	  (expandBounds): New, expand bounds by given percentage.

2012-07-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/Distance.java:
	  New distance helper module.

2012-07-06	Christian Lins <christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Remove debugging code.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Remove HYK references and code.

2012-07-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/datacage-config-manual/datacage-config-manual.tex:
	  Changed inclusions to include new content file.

	* doc/datacage-config-manual/content.tex: Content from doc/datacage.txt,
	  xml formatted.

2012-07-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/datacage-config-manual/datacage-config-manual.tex,
	  doc/datacage-config-manual/README,
	  doc/datacage-config-manual/title.tex:
	  Added stub of tex-version of datacage config documentation.

2012-07-05	Christian Lins <christian.lins@intevation.de>

	* doc/*-themes.xml:
	  Add textorientation field.

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartArea.java:
	  Move annotation related code to base class ChartGenerator.

2012-07-04	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Prevent casting exception.

2012-07-04	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	issue487 (wrong area calculation).

	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
	  Fix area calculation.

2012-07-04  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/themes.xml: Moved theme groups to own XML files to improve the
	  structure.

	* doc/conf/second-themes.xml,
	  doc/conf/default-themes.xml,
	  doc/conf/virtual-themes.xml: New XML files for themes / theme groups; each
	  theme group in one single file.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  Improved logging; print number of theme groups and themes in it as INFO.

2012-07-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Only show labels if enabled in theme. Commented (failed) trials to get the
	  text rotation right.

2012-07-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Fix certain AIOOBs that were caused by the fact that QWDs can end up in two
	  different series.

2012-07-03  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Implemented mergeRanges to combine y bounds in timeseries charts.

2012-07-03  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtInfoGenerator.java:
	  New. Added chart info generator for WQ and delta W(t) chart.

	* doc/conf/conf.xml:
	  Added info generators to config.

2012-07-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Very basic, unstyled, always-on labels of points in DeltaWt-Diagrams.

2012-07-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Replaced Arrays.asList(new String[] { "a", "b" }).contains("a") code.

2012-07-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/themes.xml,
	  src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/access/BedHeightAccess.java,
	  src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java,
	  src/main/java/de/intevation/flys/artifacts/states/FlowVelocityState.java,
	  src/main/java/de/intevation/flys/artifacts/states/MiddleBedHeight.java:
	  Removed trailing whitespace.

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

	* doc/conf/themes.xml: Added missing themes for middle bed height curves.

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

	* src/main/java/de/intevation/flys/artifacts/access/BedHeightAccess.java,
	  src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java:
	  New Access objects to access relevant information of Artifacts specific
	  to bed heights and flow velocity calculations.

	* src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java,
	  src/main/java/de/intevation/flys/artifacts/states/FlowVelocityState.java,
	  src/main/java/de/intevation/flys/artifacts/states/MiddleBedHeight.java:
	  Use *Access objects to get required information from Artifact.

	* src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java: Moved
	  methods to access specific information for calculations to *Access
	  objects.

2012-07-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix issue695 (labeling of waterlines).

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java
	  (doCrossSectionWaterLineOut): Handle labels more individually.

	* src/main/java/de/intevation/flys/jfree/XYStyle.java
	  (applyShowLineLabel): Tell renderer that there is something to do in case
	  any label is switched on.

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

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/DifferenceCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java,
	  src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/geom/VectorUtils.java,
	  src/main/java/de/intevation/flys/artifacts/geom/Lines.java,
	  src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java,
	  src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationExporter.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/themes/ThemeAccess.java,
	  src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java:
	  Fixed various bugs (package declarations, moved classes to correct
	  places).

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

	* doc/conf/themes.xml: Removed line properties from fixation point themes
	  and added missing point properties.

2012-07-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/ManualPointsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
	  Cosmetics.

2012-07-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	issue654.

	* src/main/java/de/intevation/flys/exports/LegendProcessor.java:
	  Do not include type in hash for legend item.

2012-07-02	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/ParametersExporter.java:
	  Generate CSV for facet 'fix_parameters'.

	* src/main/java/de/intevation/flys/exports/AbstractExporter.java:
	  Be more eloquent on which kind of facet the exporter does not
	  like.

2012-07-02	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/SQRelation.java:
	  Made it more symmetrical to FixationCompute.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Removed fake result stuff. Fetch parameters from SQRelationAccess.

2012-07-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java:
	  Remove some evidence that the authors of this software
	  do not know Java at all.

2012-07-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Part of flys/issue687

	* src/main/java/de/intevation/flys/exports/ATWriter.java:
	  New. Samples fitting function to AT files.

	  !!! Untested and expected to be slightly broken. !!!

	* src/main/java/de/intevation/flys/exports/fixings/FixATWriter.java:
	  Made some formatting things public to be reusable.

	* 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 i18n strings for AT headers.

2012-07-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/artifact-db.xml,
	  doc/conf/cache.xml,
	  doc/conf/meta-data.xml: Removed trailing whitespace.

2012-07-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Removed embedded class IdGenerator.

	* src/main/java/de/intevation/flys/utils/IdGenerator.java:
	  New. Re-added the id generator as top level class.

2012-06-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Added parameter exporter for fixings analysis.
	Part of flys/issue689

	* src/main/java/de/intevation/flys/exports/fixings/ParametersExporter.java:
	  New. Exports the contents of the parameters of the fix analysis.

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Added visitor interface to visit all rows of the parameters.

	* doc/conf/artifacts/fixanalysis.xml: Added new facet for
	  parameter export.

	* doc/conf/conf.xml: Register the new parameter exporter.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added facet type.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Fixed indentation.
	  Removed some programming oddities.
	  Create facet for parameter export.

	* src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java:
	  Removed code which is already contained in the base class.

	* src/main/java/de/intevation/flys/exports/AbstractExporter.java:
	  Cleaned up code.

2012-06-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/DeltaWtExporter.java:
	  Deleted

	* src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java:
	  Re-added here

	* doc/conf/conf.xml: Adjusted package name of DeltaWtExporter.

2012-06-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveInfoGenerator.java:
	  New. Added chart info companion for FixDerivedCurveGenerator.

	* doc/conf/conf.xml: Added to configuration.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java:
	  Code clean up.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixFunction.java:
	  Simplified. Not Serializable any more because its only a transient object.

	* src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java:
	  Clean up. Simplified. Removed dependency from Function2DAdapter because
	  we are doing our own sampling.

	* src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionInfoGenerator.java:
	  Removed empty last line.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Small cosmetics.

	* src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java:
	  Do not notify listeners when add data series.

	* src/main/java/de/intevation/flys/jfree/Function2DAdapter.java:
	  Removed. Obsolete.

2012-06-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Removed superfluous import.

2012-06-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionInfoGenerator.java:
	  New. Added chart info companion for FixLongitudinalSectionGenerator.

	* doc/conf/conf.xml: Added to configuration.

2012-06-29	Christian Lins <christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Unfinished work on generalizing annotations in ChartGenerators.

2012-06-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java:
	  Fixed parameter name.

	* src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_de.properties:
	  Fixed typo.

2012-06-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/access/SQRelationAccess.java:
	  Finished the access to the S/Q relation stuff.

	* doc/conf/artifacts/minfo.xml:
	  State "state.minfo.sq.periods" returns the value as string
	  symmetrical to state "state.fix.analysisperiods".

	* src/main/java/de/intevation/flys/artifacts/model/fixings/DateRange.java:
	  Deleted.

	* src/main/java/de/intevation/flys/artifacts/model/DateRange.java:
	  Re-added here because its of use not only in the fix analysis
	  but also in the S/Q relation.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriod.java,
	  src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java,
	  src/main/java/de/intevation/flys/artifacts/access/Access.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Adjusted the imports for the moved DateRange.

2012-06-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/access/SQRelationAccess.java:
	  New. Artifact access for the S/Q relation. TODO: Add more parameters.

	* src/main/java/de/intevation/flys/artifacts/access/Access.java:
	  Remove trailing whitespace.

	* src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java:
	  Added more debug output.

2012-06-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/access/Access.java: New.
	  Base class for *Access of FLYSArtifacts.

	* src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java:
	  Extends Access now.

2012-06-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java:
	  Removed dead code.

2012-06-28	Christian Lins <christian.lins@intevation.de>

	* doc/conf/themes.xml,
	  src/main/java/de/intevation/flys/utils/ThemeUtil.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/themes/ThemeAccess.java:
	  Set text orientation to horizontal for points in Fixation W/Q curve.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Fix overlapping indices of facets.

2012-06-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java:
	  Added method to figure out which discharge sectors of the
	  the analysis periods really contains data.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Only emit analysis period / discharge sectors which really contain data.

2012-06-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Moved FixationArtifactAccess into own package access because there are
	more *Access to come e.g. SQRelationAccess.

	TODO: Refactor the code for WINFO to use this *Access pattern. This
	results in much cleaner, better scaling and better understandable code.

	* src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java: Deleted.
	* src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java: New.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalDeviationFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/access,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Adjusted imports.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java:
	  Removed superfluous imports.

2012-06-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java:
	  If fitting fails for tolerance of 1e-10 increase it incremental
	  by factor of 10 to 1e-3 and only bail out if it fails on this level.

2012-06-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/fitting/Exp.java:
	  Fixed da/dQ but the fitting still does not work for the function. :-/

2012-06-27	Christian Lins <christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Show only dates as point labels.

2012-06-27	Christian Lins <christian.lins@intevation.de>

	* doc/conf/conf.xml:
	  Fix typo in generator class for fix_longitudinal_section_curve

2012-06-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Create and handle new manual line facets.

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
	  Added new constructor to play nice with upcoming facet-type.

	* src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java:
	  Added functionality to serve as WaterLineFacet (calculate water
	  line against cross section profile).

	* src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java:
	  Extended to generate cross section water line facets, too.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Handle new Facet Type.

2012-06-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	FacetType for upcoming cross_section.manualline facet.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added Facet Type and IS-helper dor upcoming facet.

2012-06-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Configure Themes and compatibility of upcoming
	cross_section.manualline facet.

	* doc/conf/artifacts/winfo.xml,
	  doc/conf/artifacts/manualpoint.xml:
	  Add upcoming facet to compatibility lists.

	* doc/conf/themes.xml: Register theme for upcoming facet.

2012-06-27	Christian Lins <christian.lins@intevation.de>

	* doc/conf/conf.xml:
	  Add output generator for 'fix_derived_curve'

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Add some ugly formatted point labels.

2012-06-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Moved describe() and the generating of output into FLYSArtifact.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  This the base class so it should contain common code!

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/FixationArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/ChartArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MapArtifact.java:
	  Moved common code into base class.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Removed superfluous imports.

2012-06-27	Christian Lins <christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Use JFreeUtil.sampleFunction2D() to sample a StyledXYSeries.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java:
	  Add ctor with addtional custom facet index parameter.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Introduce IdGenerator to generate unique facets IDs within an output,
	  so themes can now be applied properly to points and lines.

2012-06-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/collections/AttributeParser.java:
	  Removed some expensive XPath usage. Some quick profiling
	  showed that up to 7% of our code (excluding Hibernate, H2, Restlet, etc.)
	  were spend in these XPaths. A lot of time

	  !!! Please, please, dear fellow programmers do not use XPath for fetching
	  !!! trivial things that are easily accessible via DOM, too!

2012-06-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/Fitting.java:
	  Refactored to better fit the data types of SQResult.

2012-06-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/LegendProcessor.java:
	  Removed trailing whitespace.

2012-06-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQ.java:
	  Added method to validate point.

	* src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java:
	  Added method to callback to re-initialize the function to fit.

	* src/main/java/de/intevation/flys/artifacts/model/sq/Fitting.java:
	  New. Shell for fitting of one SQ fraction.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Removed superfluous import.

2012-06-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java:
	  New. Specialized outlier test for the S/Q relation.
	  Outliers are accepted in multiples of the standard deviation.

2012-06-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Only generate outlier facet when we done the prepocessing.

2012-06-26	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Enable legend aggregation in time series charts.

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Call super.aggregateLegendEntries.

2012-06-26	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Legend Item Aggregation refactoring.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java
	  (aggregateLegendEntries): Moved up from XYChartGenerator to ChartGenerator.

2012-06-26	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Legend Item Aggregation refactoring.

	* src/main/java/de/intevation/flys/exports/LegendProcessor.java:
	  New (extracted from XYChartGenerator).

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Extracted legend item aggregation to LegendProcessor.

2012-06-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Removed trailing whitespace.

2012-06-26	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Minor polish for LegendItem-Aggregation.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Define and use static SPACE Shape.

2012-06-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/fitting/InvLogLinear.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvQuad.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvPow.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvSQPow.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvLogLinear.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/Quad.java:
	  Completed inverse stubs.

2012-06-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/fitting/FunctionFactory.java:
	  Register the singletons instead of new objects.

	* src/main/java/de/intevation/flys/artifacts/math/fitting/Pow.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvQuad.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/SQPow.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/LogLinear.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvPow.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvSQPow.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvLogLinear.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/Quad.java:
	  Link the functions to there inverses via getInverse().

2012-06-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Implemenation of the inverses of the fitting functions. Needed
	for the AT export of the calculated curves.

	* src/main/java/de/intevation/flys/artifacts/math/fitting/Function.java:
	  Added abstract method getInverse() to get the inverse of the
	  function.

	* src/main/java/de/intevation/flys/artifacts/math/fitting/Pow.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/SQPow.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/Linear.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/LogLinear.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/Log.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/Quad.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/Exp.java:
	  Implements the getInverse() method.

	* src/main/java/de/intevation/flys/artifacts/math/fitting/InvLog.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvLogLinear.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvQuad.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvPow.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvExp.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvSQPow.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/InvLinear.java:
	  Implements the inverses of the function above. Some are still
	  stubs.

2012-06-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix issue663 ("step" curves for Q).

	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java
	  (addStepPointsKmQ): New, add "step" points for series.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Use new StyledSeriesBuilder function.

2012-06-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Fix LegendAggregation; prevent single aggregated legend item to
	  overflow by splitting it into many, but iconless legenditems.

2012-06-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  Fixed typo in I18N key.

2012-06-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  Finished I18N.

	* src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java:
	  Accept callback to label legend items.

	* src/main/java/de/intevation/flys/jfree/ShapeRenderer.java: Added interface
	  LabelGenerator to create labels for entries.

	* 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 strings.

2012-06-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java:
	  Removed trailing whitespace.

2012-06-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalDeviationFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java:
	  Removed superfluous imports.

2012-06-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  Uses I18N now.

	* src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java:
	  Added convenience constructor for creating date formatters with strings.

	* src/main/java/de/intevation/flys/artifacts/resources/Resources.java:
	  Added variadic method format().

	* 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 strings.

2012-06-25  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java:
	  New. Generator for longitudinal sections in fix analysis.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalDeviationFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java:
	  New. Facets for longitudinal sections chart in fix analysis.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new facet types.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Add facets for new chart.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Fixed NPE.

	* doc/conf/artifacts/fixanalysis.xml:
	  Added facets to config.

	* doc/conf/themes.xml:
	  Added new themes.

	* doc/conf/conf.xml:
	  Added new chart generator.

	* 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 i18n strings.

2012-06-25  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Look for the attribut "outline" to render shape outlines in charts.

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Add the "outline" attribute.

2012-06-25  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Do not add entries ending with " " to legend.

2012-06-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  Prevent that the plot becomes to small if only one point is drawn.

2012-06-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Added debug output about the concrete coeffs found by the fitting.

	* src/main/java/de/intevation/flys/artifacts/math/fitting/Log.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/LogLinear.java:
	  Re-checked the partial deviations to the coeffs. Write the formulas
	  more human readable.

2012-06-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/jfree/ShapeRenderer.java: If a label collides
	  with a other labels try to draw it on the other side of the point.
	  This results in more labeled points which is useful because you cannot zoom
	  in for details in the fixings km chart.

	* src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java:
	  Paint measured points blue and interpolated green.

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  Set background color to white.

2012-06-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Interpolated and measured values where switched.

2012-06-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  Label the points in diagram and show if they are interpolated or not.

	* src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java:
	  New. Extended XYSeriesCollection to cope with QWs

	* src/main/java/de/intevation/flys/utils/Formatter.java: Added formatters
	  to be fetched only over CallMeta. CallContext are not present in services.

	* src/main/java/de/intevation/flys/java2d/ShapeUtils.java: New. Some code
	  to handle Shapes.

	* src/main/java/de/intevation/flys/jfree/ShapeRenderer.java: New. Shape
	  renderer. This is a simplified version of the shape renderer
	  from fixings analysis in desktop FLYS.

2012-06-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Re-added accidentially removed code.

2012-06-24	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/jfree/StyledXYSeries.java:
	  Removed trailing whitespace.

2012-06-24	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Removed TODOs about I18N

	* 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 strings for fixing analysis.

2012-06-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	 * src/main/java/de/intevation/flys/utils/KMIndex.java:
	   OpenJDK javac 1.6.0_24 seems to be more picky about
	   correct usage of generics.

2012-06-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/add-i18n-numbers.py: New. Script to prefix
	  the values of property files with a small number to
	  make the keys identifiable even through the UI.

	  Apply in the same manner as contrib/check-i18n-properties.py

2012-06-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/resources/messages_de.properties,
	  src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties:
	  Repaired inconsistencies.

2012-06-24	Christian Lins <christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/themes/ThemeFactory.java,
	  src/main/java/de/intevation/flys/jfree/XYStyle.java:
	  Add debug logs.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java,
	  src/main/java/de/intevation/flys/jfree/StyledXYSeries.java:
	  Draw the W/Q function as StyledXYSeries.

2012-06-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Re-enable legend entry aggregation, take the threshold from
	  settings.

2012-06-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartSettings.java:
	  Parse and set legend aggregation value.

2012-06-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java,
	  src/main/java/de/intevation/flys/artifacts/model/GaugeFinderFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java:
	  Removed trailing whitespace.

2012-06-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  Added bug output when creating Q sector markers.

	* src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java:
	  Added toString() method.

2012-06-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Set the aggregation threshold value.

2012-06-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java,
	  src/main/java/de/intevation/flys/collections/OutputParser.java:
	  Cosmetics, doc.

2012-06-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/WstWriter.java:
	  Cosmetics.

2012-06-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  Draw domain markers for borders of Q sectors. There is some kind of glitch
	  in in the Q sector classifaction code or the db data is strange.

	  Because of the common code basis this affects the fixings calculations, too. :-(

2012-06-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Calculate the standard deviation of the Q sector delta Ws, too.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriod.java:
	  Store the standard deviation of the Q sector delta Ws, too.
	  Indexed 0..3; NaN means the std dev for this sector is not existing.

2012-06-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java:
	  added method getSectorBorder(int). With this method you can figure
	  the three discharge sector borders. Returns NaN if border is
	  not there. Usage:

	    GaugeFinderFactory ggf = GaugeFinderFactory.getInstance();
	    GaugeFinder gf = ggf.getGaugeFinder("Elbe");
	    if (gf == null) { /* FAIL */ }
	    GaugeRange gr = gf.find(km); // km is the km where you are.
	    if (gr == null) { /* FAIL */ }

	    double m0 = gr.getSectorBorder(0); // Draw as marker if not NaN
	    double m1 = gr.getSectorBorder(1); // Draw as marker if not NaN
	    double m2 = gr.getSectorBorder(2); // Draw as marker if not NaN

	  Labels should be:
	    '(MNQ+MQ)/2' for m0
	    '(MQ+MHQ)/2' for m1
	    'HQ5'        for m2

2012-06-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/GaugeFinderFactory.java:
	  New. Cache access to per river gauge finders. This very useful
	  if you want to draw the discharge sectors of river at a given
	  km into a diagram.

	* doc/conf/cache.xml: Added cache 'gauge-finders'.

	* src/main/java/de/intevation/flys/artifacts/model/GaugeFinder.java:
	  Added find(double km) method to find GaugeRange by km.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Uses the instance of the GaugeFinderFactory to access the
	  gauge ranges.

	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java:
	  Simplified code.

2012-06-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/GaugeFinder.java:
	  New. Moved out of FixingsOverview.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Moved GaugeFinder into top level class.

2012-06-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java:
	  New. Moved out of FixingsOverview.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Moved GaugeRange into top level class.

2012-06-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Prevent some NPEs.
	  !!! This is not a fix for the real problem !!!

2012-06-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java,
	  src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Removed superfluous imports.

2012-06-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Range.java:
	  New. Moved out of FixingsOverview.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Moved Range into top level class.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java,
	  src/main/java/de/intevation/flys/artifacts/services/FixingsOverviewService.java:
	  Adjusted imports.

2012-06-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Fixed problem with select the wrong meta data (date, descriptions, etc.)
	  for a data column.

2012-06-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java:
	  Fixed stupid i/j switch bug.

2012-06-21  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Updated i18n.

	* 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 i18n string for delta W(t) chart.

2012-06-21  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Added attribution for single series styling.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Skip legend items for interpolated point series.

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  Split analysis and reference points into two chart series. Added attribute
	  for interpolated points for different styling.

	* src/main/java/de/intevation/flys/jfree/Style.java:
	  Added getter for renderer.

	* src/main/java/de/intevation/flys/jfree/XYStyle.java:
	  Implemented getter for renderer.

2012-06-21	Christian Lins <christian.lins@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Split fix_sector_average_wq in four facet types, one for each class (_0, _1, ..)

	* doc/conf/themes.xml:
	  Update themes for WQ curve

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Fix for small issue with sector average points

2012-06-21	Christian Lins <christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Adapt doAverageSectorOut() to reflect changes in Facet.

2012-06-20  Raimund Renkert <raimund.renkert@intevation.de>

	Added delta W(t) chart in fix analysis.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added facet types for deta W(t) chart.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java:
	  Changed facet index to determine the sector index and the analysis period
	  index.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Calculate a facet index including the sector index and the analysis period
	  index.
	  Added new facet for delta W(t) chart.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java:
	  New. Facet to display the standard deviation in delta W(t) chart.

	* src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java:
	  New. Generator for the delta W(t) chart.

	* doc/conf/artifacts/fixanalysis.xml:
	  Updated facets in outputmodes.

	* doc/conf/conf.xml:
	  Added output generator to config.

2012-06-20  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  New methods to add domain and value axis markers to the plot.

2012-06-20  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/DeltaWtExporter.java:
	  Added reference events to CSV export.

2012-06-20  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java:
	  Changed data type from QW[] to QWD[] to have delta Ws in reference events.

2012-06-20  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java:
	  Moved function instantiation to alway have a valid function instance.

2012-06-20  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Fixed binary search.

2012-06-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Bring binarySearch with epsilon more to source of binarySearch of Collections.
	  Still not working properly. Why?

2012-06-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Avoid problems with corrected Ws in cross-sections; hacky solution,
	issue680.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java
	  (waterLineC): New, get corrected W.

	* src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java:
	  Create C-facet with other index.

2012-06-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Cosmetics, doc.

2012-06-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
	  Cosmetics, doc.

2012-06-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Now respects the selected events and reference period correctly.

	* src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java:
	  referenceStart and referenceEnd are now melted into referencePeriod.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Add a new filter IdsFilter which is more efficent to check than a
	  OrFilter with a list of IdFilters inside.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java:
	  Expose the new IdsFilter to the XML representation in form of
	  <columns cids="<list of whitespace separated ids"/>

2012-06-20  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java:
	  Fixed broken naming of chart curves.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Renamed facets for SQ
	  relation chart curves.

2012-06-20  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/SQRelation.java:
	  Create a compound index value for SQOutlierFacets. This index is based
	  on the index of the result object (to get the correct data) and the
	  iteration of the outliers. This compound index is used to make
	  SQOutlierFacets unique to FLYSCollection's DESCRIBE document.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java:
	  Parse the index of the result object and the iteration number from index
	  property.

	* src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java:
	  Added some more debug output.

2012-06-20  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Create only SQ objects with values > 0. Otherwise JFreeChart will break
	  during chart creation (values for logarithmic axes have to be > 0).

2012-06-20  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/themes.xml: Adjusted the color of SQ Facets (lines and points)
	  as shown in examples.

2012-06-20  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/SQRelation.java:
	  Create new Facets with proper i18n label.

	* 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 i18n strings for facet
	  names.

2012-06-20  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorA.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorB.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorC.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorD.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorE.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorF.java:
	  New concrete chart generators. Each fraction of the SQ relation
	  calculation has its own generator now. This is because they all have
	  different chart titles and labels.

	* doc/conf/conf.xml: Let SQ relation charts use more concrete generators.

	* src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java:
	  Implemented getDefaultXAxisLabel() getDefaultYAxisLabel().

	* 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 i18n strings for chart
	  titles and axes labels.

2012-06-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix issue681 (wrong vertical lines in duration curve q-mainvalues on
	second y-axis).

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Fix vertical line if on second y-axis.

2012-06-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java:
	  Restrict q-filter facet to the differences case.

2012-06-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/waterlevel.xml: Add Q-facets to compatibility list.

	* src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java:
	  Add Q-facets to filter facet list.

2012-06-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/QW.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Removed trailing whitespace.

2012-06-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/jfree/JFreeUtil.java: Directly
	  sample "our" Function objects instead of JFreeChart Function2Ds.

	* src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java:
	  Removed JFreeChart Function2D wrapper and directly use our Function
	  objects.

2012-06-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Removed superfluous imports.

2012-06-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java:
	  Calculate the standard deviation of the delta Ws of the referencen points, too.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Store the standard deviation of delta Ws of reference points into
	  a parameters column "std-dev".

2012-06-19  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/jfree/JFreeUtil.java: New function to
	  sample a Function2D. This method is used, because JFreeChart's
	  DataUtilities.sampleFunction2D() returns an instance of XYSeries but we
	  need StyledXYSeries.

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java: Added a
	  method to retrieve parameter values for a list of parameter names.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Create a fake Parameters object for the SQ curve.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java:
	  Added getMinQ() and getMaxQ() to determine the Q range.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQFunction.java: New
	  model class that stores a Function and a min and max Q value.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQCurveFacet.java:
	  Return a SQFunction instance based on the parameters and Q range of the
	  SQFractionResult.

	* src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java: Use
	  JFreeUtil's new function sampleFunction2D to create a StyledXYSeries for
	  the SQ curve.

2012-06-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Store into QWs if they are interpolated.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/QW.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java:
	  Stores boolean if the values are interpolated.

2012-06-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/fitting/SQPow.java:
	  Name derivative S'(Q).

2012-06-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Add Q-Facets to compatibility list of dis-c.

2012-06-19  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/themes.xml: Added theme mappings for sq relation fractions b - f.

2012-06-19  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQResult.java: Renamed
	  the former SQResult to SQFractionResult. This class is now used to store a
	  set of SQFractionResults for each SQ calculation.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java:
	  Former SQResult.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Create new fake SQFractionResults for fraction A, B and C (used for
	  testing).

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/SQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/SQMeasurementFacet.java:
	  Added the 'fractionIdx' property to get to know which fraction should be
	  represented.

	* src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: Create
	  Facets for each SQResult and SQFractionResult.

2012-06-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/fitting/SQPow.java:
	  New. S(Q) = a*Q^b

	* src/main/java/de/intevation/flys/artifacts/math/fitting/FunctionFactory.java:
	  Registered new function.

2012-06-19  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQMeasurementFacet.java:
	  Implemented getData(). It returns the SQ[] of
	  SQResult.getMeasurements().

	* src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: Create
	  proper facet for sq measurements and corrected constructor call of
	  SQOutlierFacet.

	* src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java:
	  Generalized doSQMeasurementsOut() and doSQOutliersOut() to one single
	  method doSQOut() which is able to handle SQ[] data.

2012-06-19  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Changed the
	  default behavior: line labels are not visible if no config option is set!

2012-06-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/conf.xml: Load config of rest server and floodmap over
	  external entities, too.

	* doc/conf/floodmap.xml, doc/conf/rest-server.xml: New.
	  External config.

2012-06-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java:
	  The reference points are now wrapped in QWDs. This enables the
	  plotting of Delta W(t) data for the reference points.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java:
	  Added convenience constructor.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Adjusted.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixFacetUtils.java:
	  Cosmetics.

2012-06-18	Christian Lins <christian.lins@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml:
	  Remove fix_analysis_periods_wq from fix_wq_curve facet.

	* doc/conf/themes.xml:
	  Add fixing themes for other theme groups.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java:
	  Debug output added.

2012-06-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixFacetUtils.java:
	  Added vim line, made class public.

2012-06-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/conf.xml: Using external system entities to configure databases.
	  !!!
	  !!! FROM NOW ON YOU CAN YOUR conf.xml FROM TRUNK.
	  !!! Adjust the database credentials via the *-db.xml files
	  !!! which are included.
	  !!!

	* doc/conf/artifact-db.xml: New. Configuration for the artifact database.
	* doc/conf/seddb-db.xml: New. Configuration for the SedDB
	* doc/conf/backend-db.xml: New. Configuration for the FLYS3 database.
	* doc/conf/datacage-db.xml: Configuration for the datacage datacage.

2012-06-18  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriod.java:
	  Fixed constructor.

2012-06-18	Christian Lins <christian.lins@intevation.de>

	* doc/conf/themes.xml:
	  Add themes for fixing facets.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java:
	  Use FixFacetUtils.getMaxQ() to retrieve max Q.
	  Interpolate km values instead of strict binary search.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixFacetUtils.java:
	  Added, contains static getMaxQ() method.

	* src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Some issues fixed.

2012-06-18  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/themes.xml: Fixed broken color strings.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added new functions
	  that return colors for points.

	* src/main/java/de/intevation/flys/themes/ThemeAccess.java: Added new
	  function that returns the color for points.

	* src/main/java/de/intevation/flys/jfree/XYStyle.java: Added new method to
	  apply the color of points (independent of the specified line color).

2012-06-18  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/themes.xml: Added themes for SQ relation charts
	  ('sq_a_measurement', sq_a_outlier' and 'sq_a_curve').

2012-06-18  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java:
	  New. Abstract chart generator for fix analysis. This generator adds the
	  current km to the context.

	* src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Generators now extend the FixCahrtGenerator.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java:
	  Get the current km from context.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Removed getter for current km.

2012-06-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/map/PrintMap.java,
	  src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/SQRelation.java,
	  src/main/java/de/intevation/flys/artifacts/states/DischargeState.java,
	  src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java,
	  src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/collections/CollectionDescriptionHelper.java:
	  Removed repeated x.size() calls from for loops.

2012-06-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Removed superfluous imports.

2012-06-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WKmsJRDataSource.java,
	  src/main/java/de/intevation/flys/artifacts/model/WWQQJRDataSource.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQTJRDataSource.java:
	  Added missing 'else's in if/else ladders.

2012-06-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FileUploadService.java:
	  Fixed string comparision for identity.

2012-06-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/**/*.java: Added missing vim lines.

2012-06-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Removed tabs. Set log level from INFO to DEBUG because this case
	  is much too common.

2012-06-17	Christian Lins <christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Comments added.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java:
	  Logging output added.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java:
	  Max Q is now determined by parameter.interpolate().

	* src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Use getCurrentKmFromRequest() in output generation.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Typo in method description.

2012-06-15  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java:
	  The getData() method now takes a km parameter to get the data at a specific
	  km.

2012-06-15  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQ.java: New model to
	  store values for S/Q.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQResult.java: New
	  model class that should be used to store calculation results of SQ
	  relation.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java:
	  Create a fake SQResult.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java:
	  Set missing required properties, so that this facet will be able to
	  re-calculate results again if the results are not in cache.

	* src/main/java/de/intevation/flys/artifacts/states/SQRelation.java:
	  Create correct number of facets for parameter A for outliers Facet.

	* src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java:
	  Create a JFreeChart XYSeries from SQResult's outliers Facet.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added a
	  method to create X axes. The SQRelationGenerator overrides this method,
	  because it requires a logarithmic axis.

2012-06-15  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Added getter for current km.

2012-06-15  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  new functions to determine if a Facet is a SQ curve, measurement or
	  outlier independend of their parameter.

	* src/main/java/de/intevation/flys/exports/sq/SQRelationInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java,
	  src/main/java/de/intevation/flys/exports/sq/SQRelationExporter.java:
	  Stubs for chart and export generators.

	* doc/conf/conf.xml: Registered new output-generators for SQ relation
	  charts and exports.

	* 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 i18n strings for CSV
	  export of SQ relations.

2012-06-15	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/**/*.java: Removed trailing whitespace.

2012-06-14	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/conf.xml: Added out commented block for SedDB configuration.

2012-06-14	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java:
	  Some code cleanup.

2012-06-14	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java:
	  Added more debug output.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java:
	  Interpolate the coeffs for the function to be drawn.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Made code more robust for none existing data.

2012-06-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  new Facets for MINFO SQ relation calculation.

	* doc/conf/artifacts/minfo.xml: Added output for chart and data export for
	  sq relation calculation. Registered new facets.

	* src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/SQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/sq/SQMeasurementFacet.java:
	  Stubs for calculation and Facets used for SQ relation calculation.

	* src/main/java/de/intevation/flys/artifacts/states/SQRelation.java:
	  Override computeAdvance() and implemented a stub for calculation and
	  Facet creation.

2012-06-11  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java:
	  Changed filter string to 'Messstelle'.

2012-06-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Fetch only cross section tracks that have a name 'qps' set for WSPLGEN
	  calculation.

2012-06-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java:
	  Use binary search again.

2012-06-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java:
	  Removed superfluous import.

2012-06-13	Christian Lins	<christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java:
	  Workaround for IndexOutOfBoundsException.

	* src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java:
	  Output generator for fixing derived curve.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java:
	  Use binary search with epsilon again.

2012-06-13  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java:
	  Added more debug/warn log statements.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java: Do
	  not add empty objects into the calculation result.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Take care on empty QWD objects.

2012-06-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriod.java:
	  Max Q is store in column "max_q" in Parameters now. So function can be plotted
	  bewtween calculated kms, too.
	  For function sampling use something like this.:

	    double [] maxQ = parameters.interpolate("km", 42.3", new String [] { "max_q" });
	    double maxSampleQ = 10000d;

	    if (maxQ != null) {
	        maxSampleQ = Math.min(2000d, Math.abs(maxQ[0]));
	        maxSampleQ += 0.05*maxSampleQ;
	   }

2012-06-13	Christian Lins	<christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Add missing imports and correct coding issues.

2012-06-12	Christian Lins	<christian.lins@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java:
	  Use KMIndex.search() (with epsilon) instead of KMIndex.binarySearch().

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Move marker generation to XYChartGenerator.

2012-06-12	Christian Lins	<christian.lins@intevation.de>

	* doc/conf/conf.xml:
	  Add fix_wq_curve output generator.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java:
	  Add additional null-checks to prevent NullPointerExceptions when accessing empty
	  facets.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java:
	  getMaxQ() now returns constant '1000' until it is properly fixed.

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Code for generating charts more or less complete but untested due to bugs in facets.

2012-06-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Added method double [] interpolate(keyName, key, columnNames).
	  This construct is better suited for the extraction of
	  coefficients for building functions. In pseudo code:

	    fitting.Function function =
		    FunctionFactory.getInstance().getFunction("log");

	    double km = 42.35;

	    double [] coeffs = parameters.interpolate(
		    "km", km, function.getParamterNames());

	    math.Function f = function.instantiate(coeffs);

2012-06-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java,
	  src/main/java/de/intevation/flys/artifacts/states/GaugeDischargeState.java:
	  Removed superfluous imports.

2012-06-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Added interpolate methods that return an array of linear interpolated
	  values for a given key. Say you have a column named "km" you can call
	  'values = parameters.interpolate("km", 12)' to fetch a set
	  of proportional interpolated parameters even if there are only
	  "km": 10 and "km": 15 in the data structure. Returns null if out of bounds.

2012-06-11  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/artifacts/minfo.xml:
	  Added states and transitions for S-Q-relation.

	* src/main/java/de/intevation/flys/artifacts/states/PeriodsSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/OutliersInput.java,
	  src/main/java/de/intevation/flys/artifacts/states/SQRelation.java:
	  New. States for multiple periods input, outliers input and final
	  S-Q-relation.

	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java:
	  Added name filter for locations.

	* 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 i18n strings for states.

2012-06-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java:
	  Fixed broken logger class.

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Re-establish old indentation.

2012-06-07	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  (doWOut): Interpolate values from WKms.

2012-06-07	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/GaugeDischargeState.java:
	  Enable caching.

2012-06-07	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Simplified choice of gauges for discharge c.

	* src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/GaugeDischargeState.java:
	  Create better name for facets, minor refactoring, polishing.

	* 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 i18n strings.

2012-06-07	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java,
	  src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java:
	  Cosmetics, docs

2012-06-07  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/PreprocessingSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Use i18n strings.

	* 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 i18n strings.

2012-06-07  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Changed facet description.

2012-06-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/GaugeDischargeFacet.java,
	  src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java,
	  src/main/java/de/intevation/flys/utils/FLYSUtils.java:
	  Cosmetics, doc.

2012-06-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java:
	  Fix issues, import river, documentation, more debug.

2012-06-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/GaugeDischargeFacet.java:
	  Hard-code state id, instruct computation to result in facets.

2012-06-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  Doc.

2012-06-06  Raimund Renkert <raimund.renkert@intevation.de>

	Added facet for derivate curve and fixed facet names.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java:
	  New. Facet for derivate curve.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java:
	  Added name for facet to constructor.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Add one facet for each output using a different name.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added facet names.

	* doc/conf/artifacts/fixanalysis.xml:
	  Changed facet names.

2012-06-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/MiddleBedHeightExporter.java:
	  Trivial doc.

2012-06-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/datacage.txt: More documentation of datacage conf.

2012-06-06  Raimund Renkert <raimund.renkert@intevation.de>

	Added new facet for analysis periods and updated facet names.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java:
	  New. Facet for analysis periods. Returns the date ranges for the analysis
	  periods.

	* doc/conf/artifacts/fixanalysis.xml,
	  src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new facet and updated facet names.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java:
	  Updated facet names.

2012-06-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java:
	  Minor doc.

2012-06-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/datacage.txt: More documentation of datacage conf.

2012-06-06  Raimund Renkert <raimund.renkert@intevation.de>

	Implemented facets and splitted up the event facet.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixEventsFacet.java:
	  Removed.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java:
	  New. Facets for events.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java:
	  Implemented getData().

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Add new event facets.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java:
	  Fixed return value.

2012-06-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/jfree/Function2DAdapter.java:
	  New. Adapter class to brigde de.intevation.flys.artifacts.math.Function
	  to org.jfree.data.function.Function2D.

	  Function2D objects can be used by org.jfree.data.general.DatasetUtilities
	  to sample functions into XYDatasets.
	  See DatasetUtilities.sampleFunction2D()

2012-06-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/datacage.txt: New file that will contain datacage configuration
	  documentation.

2012-06-06  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml:
	  Fixed outputmodes.

2012-06-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java:
	  Local variable shadowed instance variable.

2012-06-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Fixed index problem with name of chi^2.

2012-06-06  Raimund Renkert <raimund.renkert@intevation.de>

	Added facets for fix analysis.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixEventsFacet.java:
	  New. Facets for W/Q-Chart in fix analysis. FixAvSectorFacet is implemented,
	  the others are just stubs.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Add facets to artifact after calculation.

	* src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java:
	  Added method to get the current km for charts. The km is used for
	  synchronous navigation in fix analysis charts.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new facet types.

	* doc/conf/artifacts/fixanalysis.xml:
	  Added facets to config.

2012-06-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Added some binary search methods. TODO: Sort by column.

2012-06-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/DeltaWtExporter.java:
	  Use new data structures for export.

	* src/main/java/de/intevation/flys/utils/KMIndex.java:
	  Implements java.lang.Iterable now.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/DeltaWT.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/DeltaWTsKM.java:
	  Removed. Obsolete.

	* src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java:
	  Removed superfluous import.

2012-06-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java:
	  Prevent duplicates in analysis periods.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/DateRange.java:
	  Added equals.

2012-06-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/utils/EpsilonComparator.java:
	  Removed. Obsolete now.

2012-06-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/JFreeUtil.java:
	  Improved collision detection.

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Avoid collisions of line labels, documentation.

	* src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java:
	  Use JFreeUtil.

	* src/main/java/de/intevation/flys/jfree/CollisionFreeLineLabelEntity.java:
	  New, ChartEntity class for Line labels.

2012-06-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java:
	  Store the QWs that are actually used in the fitting as referenced.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Store the referenced QWs for each km. TODO: Use same index structure.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java:
	  Store the referenced QWs, too.

2012-06-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixResults.java:
	  Removed. Obsolete.

2012-06-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriodsKM.java:
	  Removed. Not needed any longer.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Store the AnalysisPeriod per km into FixResult.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java:
	  Uses KMIndex<AnalysisPeriod []> instead of DeltaWTsKM now.

	* src/main/java/de/intevation/flys/exports/DeltaWtExporter.java:
	  Commented out old code.
	  TODO: Rewrite exporter to use AnalysisPeriods.

2012-06-05  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: Override
	  endOfLife() to remove files and directories produced for WMS output.

2012-06-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/JFreeUtil.java:
	  New jfreechart-related utility class.

2012-06-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/utils/Formatter.java:
	  (getMeterFormat): New.
	  Doc.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  i18n and formatting for line labels.

2012-06-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Added better doc and TODO.

2012-06-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java:
	  Now uses the KMIndex for outliers.
	  TODO: Use KMIndex for DeltaWTs, too.

2012-06-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/utils/KMIndex.java: New.
	  Serializable index structure to find objects by there km.
	  TODO: Use in fixings analysis.

2012-06-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/utils/EpsilonComparator.java:
	  Fixed sign problem in comparison.

2012-06-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Implemented outlier checks in fixings analysis. Expected to be
	still broken, but the code is in the right place now and has the
	right structure.

	* src/main/java/de/intevation/flys/artifacts/math/Outlier.java:
	  Fixed endless loop.

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Added further set methods for indexed access.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java:
	  New. Out factored fitting code from FixCalculation. Checks for outliers, too.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Moved fitting code out to separate class. Streamlined code a bit.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java:
	  Store the outliers from fitting in separate data structure, too.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/QW.java: New.
	  Base class for delta W/t data. Used as storage for outliers.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java:
	  Is a sub class of QW now.

2012-06-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Store Chi^2 of fitting into result, too.

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Added indexed set method.

2012-05-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/fitting/Function.java:
	  Added inner class Derivative representing the first derivative of the
	  function. Can be instantiated with a given set of parameters.

	* src/main/java/de/intevation/flys/artifacts/math/fitting/Log.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/Pow.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/Linear.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/Quad.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/Exp.java,
	  src/main/java/de/intevation/flys/artifacts/math/fitting/LogLinear.java:
	  Added the derivatives of all fitting functions.

2012-05-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Calculate the Delta W/ts +
	  the average Delta W/ts per Q sector per analysis period.
	  !!! Very complicated stuff !!!
	  TODO:
	  - Store results into the new data structures AnalysisPeriod and
	    AnalysisPeriods.
	  - Remove the old DeltaWTsKM and DeltaWT.
	  - Adjust the facets and the export.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java:
	  Added convinience constructor.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Added sector filter.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java:
	  Expose the new sector filter to the fixing overview service. Syntax:
	  <sector value="<value>"/>

2012-05-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/utils/DateAverager.java:
	  New. Averages a list of dates preventing overflows.

2012-05-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Added a km filter to find columns which touches a given km.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java:
	  Expose the new km filter to the fixing overview service. Syntax:
	  <position km="<value>"/>

2012-05-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Better persistence model for delta w/t calculations. Supports
	storage of Q sector averages, too. TODO: Use the new model.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java:
	  New. Will be used as a replacement for DeltaWT.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriod.java:
	  New. Will be used as a replacement for DeltaWTsKM.KM.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriodsKM.java:
	 New. List<AnalysisPeriodsKM> Will be used as a replacement for DeltaWTsKM.

2012-05-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java:
	  Use DateRange objects now.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/DateRange.java: New.
	  Model for date ranges. To be used in re-factored persistance model.

2012-05-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Added method to find the Q sector of fixing column for a given km.
	  Useful to classify fixing events at certain kms.

2012-05-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java:
	  Fixed access to analysis periods.

2012-05-30  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml:
	  Changed data fields to a single string data field. The data contains a
	  string of semi-colon separated 'long' value pairs.

	* src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java:
	  Process the new data.

2012-05-29	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/RelativePointFacet.java:
	  trivial doc.

	* src/main/java/de/intevation/flys/themes/ThemeAccess.java:
	  Removed disturbing comment.

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java
	  (SimpleAxis): Add ommitted Y_AXIS2 to enum.

2012-05-29	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	solve issue417: duration curve annotations as line to curve.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java
	  (createStickyLineAnnotation): New.
	  Resolved todos, use the line style.

2012-05-29	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Doc, TODOs added.

2012-05-29	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Consider theme setting before drawing line to curve.

2012-05-29	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml: Donate own theme for mainvalues.

2012-05-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Fit from Q to W not from W to Q!
	  Delta w/t's are now in cm.
	  Slimmed down fitting error report.

	* src/main/java/de/intevation/flys/exports/DeltaWtExporter.java:
	  Changed default column header of delta W to cm.

2012-05-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Made Delta W/t calculation work.

	* src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java:
	  Added toString() method.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsColumn.java:
	  Fixed problem accessing Ws.

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Fixed silly 'name.equals(name)' bug. This mainly prevented delta W/t
	  computation from working.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/DeltaWTsKM.java:
	  More deug code.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  More debug code. Simplified access to data a bit.

	* src/main/java/de/intevation/flys/exports/AbstractExporter.java:
	  Allow CSV exporter to throw IOExceptions.

	* src/main/java/de/intevation/flys/exports/DeltaWtExporter.java:
	  More debug output. Flush CSV after writing.

2012-05-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Units of step is in meter and not km. Added more debug output.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Stupidly forgot to add facet to return the delta w/t as CSV.

2012-05-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java:
	  There was a cast to WINFOArtifact where a cast to FLYSArtifact
	  is sufficient. This prevented generating error reports that
	  does not inherit from WINFOArtifact like FixationArtifact.

2012-05-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml,
	  doc/conf/conf.xml: Added CSV and error report generator/facets.

2012-05-27  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java:
	  CrossSectionFactory.isNewest() will return true if the CrossSection is
	  the only CrossSection found in the database. No IndexOutOfBounds is
	  thrown.

2012-05-27  Ingo Weinzierl <ingo@intevation.de>

	* Tagged module as '2.7'.

2012-05-27  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Don't break chart creation if no hyks are existing.

2012-05-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/DeltaWTsKM.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java,
	  src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java,
	  src/main/java/de/intevation/flys/artifacts/ExternalWMSArtifact.java:
	  Removed superfluous imports.

2012-05-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/DeltaWTsKM.java:
	  Added getters to access the inner data structures.

	* src/main/java/de/intevation/flys/utils/Formatter.java: Added formatting
	  support for delta w/t exports of fix analysis.

	* src/main/java/de/intevation/flys/exports/DeltaWtExporter.java:
	  New. CSV exporter for delta w/ts of fix analysis.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Reordered imports.

2012-05-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FitResult.java:
	  Removed. Obsolete.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java:
	  New. Stores the result of the fixing analysis.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Return the right structure (FixResult) from the calculation.

2012-05-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Fixed stupid index bug.

2012-05-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  Call the computing.

2012-05-25  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/conf.xml: Use the correct Artifacts for wms fixpoints and
	  floodmaps (they were interchanged).

2012-05-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixResults.java:
	  New. Stores all results of a fixing analysis.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/DeltaWTsKM.java:
	  New. Km indexed container for Delta W/t diagrams.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Create FixResults and DeltaWTsKM now to store the results.

2012-05-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/collections/AttributeParser.java:
	  Replaced another silly "@attribute" XPATH with direct getAttribute()
	  call.

2012-05-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Draw line of mainvalues to duration curve hit point to ground.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Also work for q-value case on second y-axis, refactored.

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java:
	  Doc and fix.Doc and fix.

2012-05-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Also draw lines to curve from q-mainvalues in dur. curve

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java:
	  In analogy to the W-case, calculate where line from main value hits
	  a wqday-curve from DurationCurve.

2012-05-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Draw line of w-mainvalue to duration curve hit point to ground.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  If StickyAxisAnnotation has a hit point set, also add line annotation
	  from the crossing point to the x-axis.

2012-05-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Draw line of w-mainvalue to duration curve, baby version.

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Added field "hitPoint", when a line to a point should be drawn
	  - leveraging this annotation into the second dimension.

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java:
	  Calculate where mainvalue hits a duration curve.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  If StickyAxisAnnotation has a hit point set, add line annotation
	  to hit (the duration) curve.

2012-05-25  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/themes.xml:
	  Added a warning to not use virtual themes for facets.

2012-05-25  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/themes.xml:
	  Added concrete themes for maps.

2012-05-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Moved parameter of addAnnotations out, renamed to addVisibleAnnotation.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Adjusted.

2012-05-25  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/themes.xml:
	  Added concrete themes for areas.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Load mainvalues in reference curves.

	* doc/conf/artifacts/winfo.xml: Add mainvalues to compatibility list
	  of reference curves; fix typo.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Render mainvalues as annotations.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Render static wkms data.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Cosmetic.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java,
	  src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java:
	  (flipStickyAxis): Allow easy change of sticky axes.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java
	  (getWaterlevelData): Exception for discharge case.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java
	  (getLocations): Exception for discharge case.

2012-05-24  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 667.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
	  Added data to jfreechart data source.

2012-05-24  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/services/ThemeListingService.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/HYKArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/AreaArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java,
	  src/main/java/de/intevation/flys/themes/ThemeGroup.java: Removed
	  needless imports.

2012-05-24  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Reproject
	  geometries into the coordinate reference system defined in the
	  configuration.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Include other "thematic" heights for
	  reference curve relative points dc conf.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java:
	  Cosmetics.

	* src/main/java/de/intevation/flys/artifacts/model/RelativePointFacet.java:
	  Added TODO.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/relativepoint.xml,
	  doc/conf/conf.xml: Remove relativepoint artifact remainders, so far
	  all cases are covered by facet.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java:
	  Handle reference curve case, slightly refactored.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Handle points in doOut.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java:
	  Expose data via blackboard.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Serve fixations
	  with relative points for reference curves.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java
	  (getReferenceStartKm, getReferenceEndKms): Made public.

2012-05-24	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Add relative point to compatibility
	  list of reference curve out.

2012-05-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Remove second facet from
	  StaticWKmsArtifact from compatibility list of duration curves.

	* doc/conf/themes.xml: Add basic theme for relativepoint.

2012-05-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Serve floodprotections and heightmarks
	  with relative points for duration curves.

2012-05-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Handle relative points in doOut.

2012-05-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Serve fixations with relative points
	  for duration curves.

2012-05-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/ExternalWMSArtifact.java:
	  Use superclass static field and method.

2012-05-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/RelativePointFacet.java:
	  Handle duration curve case. Do a linear interpolation of the day.

2012-05-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java:
	  Be a DataProvider, provide the duration curve and its km.

2012-05-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  (getWAtKmLin): Linear interpolating version of getWAtKm.

2012-05-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/RelativePointFacet.java:
	  Add (dummy-) implementation of a relative point facet.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  Use superclass infrastructure. Spawn RelativePointFacet.

	* doc/conf/winfo.xml: Add relativepoint facet to compatibility list
	  of duration curve out.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Add RELATIVE_POINT Facet Type.

2012-05-23  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/fitting/Function.java:
	  Allow instantiation of a function with concrete parameters.

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  Enable indexed access to parameter names.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FitResult.java:
	  New. Bundles the results of the fitting.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/DeltaWT.java:
	  New. Stores results of Delta W/t calcs.

	* src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java:
	  Calculate Delta W/t s, too.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Make component filters ('and', 'or') more easy to construct.

2012-05-23  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java,
	  src/main/java/de/intevation/flys/themes/ThemeFactory.java:
	  Improved startup performance.

2012-05-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java
	  (getDatacageIDValue): New, extracted from various duplicates.

	* src/main/java/de/intevation/flys/artifacts/HYKArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/AreaArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java:
	  Use getDatacageIDValue() from superclass or static context.

2012-05-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java:
	  Define XPath to access "id" value of element coming from datacage-document.

	* src/main/java/de/intevation/flys/artifacts/HYKArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/AreaArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java:
	  Use xpath defined in superclass.

2012-05-23	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java:
	  Whitespace-Cosmetics.

2012-05-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/relativepoint.xml: New artifact-state-config for upcoming
	  artifact.

	* doc/conf/conf.xml: Register artifact factory and artifact for
	  upcoming artifact.

2012-05-23  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/themes/ThemeGroup.java:
	  New. A theme group takes a set of themes configured in the themes.xml.

	* src/main/java/de/intevation/flys/themes/ThemeFactory.java:
	  Read the theme groups configured in the themes.xml.
	  Improved reading the xml file. Thanks to Sascha for the patch.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Get a theme using the new parameter themegroup.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  Create theme groups while configuring themes.

	* src/main/java/de/intevation/flys/artifacts/services/ThemeListingService.java:
	  New. This service returns a list with all configured theme groups, each
	  containing exactly one theme filtered by name.
	  The theme name has to be provided as parameter.

	* doc/conf/conf.xml:
	  Added new service to config.

	* doc/conf/themes.xml:
	  Introduced theme groups and added new group.

2012-05-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Repair CS-DC-Conf, allow loading
	  waterlevels, add fixations and heightmarks.

2012-05-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Cosmetics.

2012-05-22  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Allow loading of fixations in cross-sections.

2012-05-22  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/GaugeDischargeState.java:
	  More debugging of discharge curve issue.

2012-05-22  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java
	  (getDischargeCurveData): Moved to more specific class.

	* src/main/java/de/intevation/flys/artifacts/model/GaugeDischargeFacet.java:
	  Cosmetics, be louder in miscondition.

2012-05-22  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Allow loading of fixations and thmatic
	  heights in longitudinal sections, make discharge-curve-misbehavior
	  testable with trunk.

2012-05-22  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Render discharge outs (was own out once).

2012-05-22  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Allow cross-section stuff in
	  dischargelongitudinal state.

	* src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java:
	  Add CrossSectionWaterLineFacets, will trigger the cross section output.

2012-05-22  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FixationArtifact.java:
	  Added vim line.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Removed empty line.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Removed invalid/not helpful comments.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java
	  (outputExists): Doc.

2012-05-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/ReferencePeriod.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/AnalysisPeriods.java:
	  Adjusted ui providers to make parameter names unique in client.

2012-05-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Fixed short evaluation problem.

	* src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java:
	  Added more debuf output.

2012-05-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java:
	  New. Access the state data of fixings artifacts.

2012-05-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml: Make "start" and "end" parameters
	  unique in fixings artifact states.

2012-05-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/winfo.xml: Extend compatibility lists.

	* doc/conf/conf.xml: Add gaugedischarge factory and artifact.

	* src/main/java/de/intevation/flys/artifacts/model/GaugeDischargeFacet.java,
	  src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/GaugeDischargeState.java:
	  New, State, Facet and Artifact to access discharge curves of gauges.

	* doc/conf/gaugedischarge.xml: New trivial state model for gaugedis.

2012-05-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Allow loading of prev. reference curves.

2012-05-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: (yet unused) sceleton for ref-curve dc conf.

2012-05-21  Raimund Renkert <raimund.renkert@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 i18n strings for fix analysis.

2012-05-21  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/fixation/EventSelect.java:
	  Implemented static data for state.

	* doc/conf/artifacts/fixanalysis.xml:
	  Changed transition in 'volmer' states.


2012-05-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java:
	  Include km in names of duration curve facets.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Adjusted i18n for
	  duration curve facet names (now include km).

2012-05-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Allow loading of previous duration curves and
	  fixations in duration curves.

2012-05-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java:
	  Take the current km range into account in getOptions().

2012-05-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java,
	  doc/conf/artifacts/minfo.xml: Adapted facets for middle bed height. We
	  now distinguish between epochs and singles.

	* doc/conf/conf.xml: Registered new output generator for middle bed height.

	* doc/conf/themes.xml: Added new themes for middle bed height epoch and
	  single curves.

	* src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java:
	  Take the km range into account.

	* src/main/java/de/intevation/flys/artifacts/states/MiddleBedHeight.java:
	  Create facets for single and epochs.

	* src/main/java/de/intevation/flys/exports/MiddleBedHeightInfoGenerator.java,
	* src/main/java/de/intevation/flys/exports/MiddleBedHeightGenerator.java:
	  Chart and info generator for middle bed height charts.

2012-05-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightData.java:
	  Added new methods that create names for singles and epochs.

	* src/main/java/de/intevation/flys/utils/Formatter.java: Added number
	  formatters used to export middle bed heights values.

	* src/main/java/de/intevation/flys/exports/MiddleBedHeightExporter.java:
	  New exporter for middle bed heights values.

	* doc/conf/conf.xml: Registered new output generator for middle bed height
	  exports.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: New i18n strings for middle
	  bed height facets and csv export.

2012-05-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightData.java:
	  New model class for storing data for middle bed height exports (chart,
	  data exports).

	* src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java:
	  New Calculation that generates new MiddleBedHeightData.

	* src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightFacet.java:
	  New Facet which is used for middle bed height charts.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  new facet type for middle bed height curves.

	* src/main/java/de/intevation/flys/artifacts/states/MiddleBedHeight.java:
	  Calculate middle bed height data using MiddleBedHeightCalculation and
	  create new facets for charts and csv export.

	* src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java: Added new
	  methods that return the IDs of selected single bed heights and epoch bed
	  heights.

2012-05-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java:
	  Implemented getOptions() and getLabelFor().

2012-05-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Stabilized legend item aggregation.

2012-05-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Extensive - although mostly trivial - doc adds.

2012-05-16  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/minfo.xml: Added states and transitions for MINFO
	  middle bed height calculation.

	* src/main/java/de/intevation/flys/artifacts/states/MultiStringArrayState.java:
	  New. Nearly a copy of MultiIntArrayState but uses String values.

	* src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java:
	  New subclass of MultiStringArrayState. It will be used for bed heights
	  selection. We need to do handle the values as string, because singles
	  and epochs are mixed, so the DB ID is not enough as parameter value.

	* src/main/java/de/intevation/flys/artifacts/states/MiddleBedHeight.java:
	  New. This state will trigger the calculation for middle bed height in
	  MINFO module.

2012-05-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/MultiIntArrayState.java:
	  Do not add a <art:choices> element to the dynamic DESCRIBE but add the
	  <art:item> directly to <art:select> which allows using default mechanism
	  in FLYS client.

2012-05-15	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Replaced event name by its description, which combines the
	  description of the fixing (= WST file description) and the name
	  of the column.

	* contrib/fixoverview2html.xsl: Adjusted.

2012-05-16  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/minfo.xml: Added a chart output and relevant facets to
	  flow velocity state.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  new facet types for mainchannel, totalchannel and tau of flow velocity
	  calculation.

	* src/main/java/de/intevation/flys/artifacts/model/FlowVelocityFacet.java:
	  New Facet that returns FlowVelocityData in getData().

	* src/main/java/de/intevation/flys/artifacts/model/FlowVelocityData.java:
	  Added new methods that return xy points for mainchannel, totalchannel and
	  tau.

	* src/main/java/de/intevation/flys/artifacts/states/FlowVelocityState.java:
	  Create new mainchannel, totalchannel and tau Facets for each
	  FlowVelocityData instance retrieved by FlowVelocityCalculation.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Commented
	  legend aggregation out.

	* src/main/java/de/intevation/flys/exports/FlowVelocityInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/FlowVelocityGenerator.java: New
	  chart generator for flow velocity data and its info generator.

	* doc/conf/conf.xml: Registered the chart and chart info generator for flow
	  velocity data.

	* doc/conf/themes.xml: Added new themes for mainchannel, totalchannel and
	  tau of flow velocity calculation.

	* 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 i18n strings for flow
	  velocity facets.

2012-05-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/MultiIntArrayState.java:
	  Add a 'label' attribute to each <data> element in the static DESCRIBE.
	  In addition to that, the <data> element created in this class can have
	  multiple <item> elements which consist of a 'value' and a 'label'
	  attribute. This 'label' attribute is taken from getLabelFor() which is
	  abstract and needs to be implemented by subclasses.

	* src/main/java/de/intevation/flys/artifacts/states/DischargeState.java:
	  Implemented the abstract method getLabelFor().

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_de.properties: New i18n strings for MINFO
	  parameter names.

2012-05-16  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: New i18n strings for MINFO
	  states.

2012-05-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/FlowVelocityExporter.java:
	  Append the name of a location for the km row which is provided by
	  FLYSUtils.getLocationDescription(km);

	* 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 i18n strings for flow
	  velocity CSV export headers.

2012-05-16  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/minfo.xml: Added new state and csv export for MINFO flow
	  velocity calculation.

	* doc/conf/conf.xml: Registered a new CSV exporter for flow velocity
	  values.

	* src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java:
	  New calculation for MINFO flow velocity. Actually, this is no
	  calculation but a bundling of data.

	* src/main/java/de/intevation/flys/artifacts/model/FlowVelocityData.java:
	  New model class that is used to store flow velocity relevant data.

	* src/main/java/de/intevation/flys/artifacts/states/FlowVelocityState.java:
	  New state that triggers the FlowVelocityCalculation and creates new
	  facets. Currently, only a CSV Facet is created.

	* src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java: Added
	  methods to retrieve the IDs of main channels and total channels for the
	  flow velocity calculation.

	* src/main/java/de/intevation/flys/utils/Formatter.java: New formatters
	  that are used in CSV exporter for flow velocity.

	* src/main/java/de/intevation/flys/exports/FlowVelocityExporter.java: New
	  concrete subclasses of AbstractExporter that currently implements the
	  path to export FlowVelocityData as CSV.

2012-05-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/HYKArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
	  Removed getDataAsDouble() which is now implemented in FLYSArtifact.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Implemented getDataAsDouble(). This method will return a Double based on
	  a given parameter name.

2012-05-15  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml:
	  Changed data type for state 'eventselect'.

2012-05-15	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSFixpointsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSFloodmapsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/FixationArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSHwsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/QSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/ReferencePeriod.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationVolmerCompute.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/PreprocessingSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationPeriod.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FunctionSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/GaugeRange.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/LocationSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/AnalysisPeriods.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java,
	  src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java,
	  src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryPolyArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSGaugeLocationArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSLineArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Removed superfluous imports.

2012-05-15  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml:
	  Adjusted state data fields.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/ReferencePeriod.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/PreprocessingSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FunctionSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/AnalysisPeriods.java:
	  Implemented states.

2012-05-15  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/fitting/Function.java:
	  Fixed constructor. Descriptions are now available.

2012-05-15  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/minfo.xml: Added new transistions and states for
	  MINFO flow velocity calculation.

	* src/main/java/de/intevation/flys/artifacts/states/MultiIntArrayState.java:
	  New abstract states that might be used to append a list of available
	  integer values to the DESCRIBE document.

	* src/main/java/de/intevation/flys/artifacts/states/DischargeState.java:
	  Concrete subclass of MultiIntArrayState which implements the abstract
	  method getOptions().

2012-05-14	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Parameters.java:
	  New. Model for storing fitting results in cache.

2012-05-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java:
	  Removed the computeFeed() method that created Facets for discharge
	  curves to make this state ready to use in MINFO calculations.

2012-05-14  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/minfo.xml: New Artifact configuration for module
	  MINFO.

	* src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java: New
	  Artifact for module INFO.

	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelectMinfo.java:
	  New. The state is used for choosing the calculation in module MINFO.

	* doc/conf/conf.xml: Registered the MINFO Artifact.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: New strings for states and
	  calculations.

2012-05-13  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Removed unused code.

2012-05-13  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Doc.

2012-05-13  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Allow duration_curve.q loading via datacage.

2012-05-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Allow hyk loading also when in non-
	  recommendation mode.

2012-05-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Improved middle height calculations for waterlevels.

	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java
	 (area): Improved or even corrected area calculation.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Corrected middle height calculated, have a very verbose label for
	  the time being.

2012-05-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Somewhat improve area calculation during line computation.
	Still faulty.

	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java
	 (fillWater): Piecewise calculate area in more cases.

2012-05-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Tackle water-through-mountain issue that exists since r4099.

	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java
	  (addPoints): Add parameter that decides whether or not to skip NaNs.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Set new parameter to StyledSeriesBuilder.addPoints calls.
	  For waterlines it is important that NaNs stay included!

2012-05-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WMSGaugeLocationArtifact.java:
	  New Artifact for storing geometries for gauges.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  a new facet type for WMSGaugeLocationArtifact 'floodmap.gaugelocation'.

	* doc/conf/artifacts/winfo.xml,
	  doc/conf/artifacts/map.xml: Added 'floodmap.gaugelocation' facet to the
	  list of valid facets for map and floodmap output.

	* doc/conf/conf.xml: Added a factory for creating
	  WMSGaugeLocationArtifacts.

	* doc/conf/themes.xml: Added a theme for 'floodmap.gaugelocation' facets.

	* doc/conf/meta-data.xml: Added a datacage section for gauge locations to
	  the floodmap and map section.

2012-05-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  new facet types 'floodmap.hydr_boundaries' and
	  'floodmap.hydr_boundaries_poly'

	* doc/conf/artifacts/winfo.xml,
	  doc/conf/artifacts/map.xml: Registered 'floodmap.hydr_boundaries' and
	  'floodmap.hydr_boundaries_poly' for floodmap and map output types.

	* doc/conf/conf.xml:

	* doc/conf/themes.xml: Added themes for 'floodmap.hydr_boundaries' and
	  'floodmap.hydr_boundaries_poly'.

	* doc/conf/meta-data.xml: Improved datacage configuration specific to
	  floodmaps and maps.

	* src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryPolyArtifact.java:
	  New artifacts to save information about hydrological boundaries.

	* src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSFixpointsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSFloodmapsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSHwsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSLineArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java:
	  Moved the methods getRiverId() and getTitle() into WMSDBArtifact.

2012-05-10  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/mapserver/wsplgen_layer.vm,
	  doc/conf/mapserver/shapefile_layer.vm: Added a 'PROJECTION' section.

2012-05-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java:
	  Minor refactoring, doc.

2012-05-10  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/mapserver/layer.vm: Added a 'PROJECTION' section.

2012-05-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java:
	  Minimal doc, TODO.

2012-05-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix issue620: synchron navigation at impossible kms.

	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java
	  (searchCrossSectionLine): Do not return a CrossSectionLine if there
	  is none found within 1km.

2012-05-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Minimal cosmetics.

2012-05-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Preparations for fix issue620: Synchron navigation on non-existing km.

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java
	  (getData): Return empty lines if no cross section found.

2012-05-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Display mittlere hoehe (which is not yet calculated).

	* doc/conf/themes.xml: Added theme prop to display middlere hoehe or not.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
	  (parseShowMiddleHeight): New, parse the new theme prop.

	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java:
	  (fillWater, ListWithArea): Return new type wich also contains area.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Respect new theme prop and adjust label if set.

2012-05-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Beginning of calculation of Mittlere Hoehe: area calculation.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
	  Adjusted to LineData constructor.

	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java
	  (area): New, calculate area of a polygon.
	  Added todos where area calculation code paths are missing.

2012-05-08  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/meta-data.xml: Moved the hws layers out to an own node.

	* src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: Moved the
	  'name' property from WMSCatchmentArtifact to WMSDBArtifact.

	* src/main/java/de/intevation/flys/artifacts/WMSHwsArtifact.java: Create
	  more specific filter and extent that takes the 'name' into account.

2012-05-08  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/meta-data.xml: Moved the catchments out to an own node.

	* src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java:
	  Parse the name of required catchments fetch name specific catchments
	  only.

2012-05-08  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/map.xml: Added the 'floodmap.floodmaps' facet to the
	  list of valid facets of the 'map' output.

	* doc/conf/themes.xml: Renamed the 'Line' theme used for floodmaps to
	  'FloodmapLines'.

2012-05-08  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/mapserver/db_layer.vm: Added a PROJECTION section which is
	  filled by the LayerInfo object.

	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Added
	  a 'srid' property.

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Set the
	  'srid' property of all LayerInfo objects.

2012-05-07  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/artifacts/fixanalysis.xml:
	  Changed state data and added new state.

	* src/main/java/de/intevation/flys/artifacts/states/fixation/QSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/EventSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationPeriod.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/GaugeRange.java:
	  Modified states and added new state for concrete event selection.

2012-05-04	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes: Add text-bg properties to  Area style.

	* src/main/java/de/intevation/flys/themes/ThemeAccess.java
	  (TextStyle.apply): Apply text bg theme-properties to renderer.

	* src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java:
	  Cosmetics.

	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
	  Added field to store labels background color, calculate arithmetic
	  middles of polygons, to put label there (improves situation slightly).

2012-05-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java
	  (parseShowArea): parse show area field of theme.

	* src/main/java/de/intevation/flys/themes/ThemeAccess.java
	  (TextStyle.apply): Be applicable to StableXYDifferenceRenderers.

	* src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java:
	  Apply setting from theme to renderer.

	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
	  Simplified area calculation (always calculate). Added getters and
	  setters for text for label style, respect most of that.

2012-05-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes: Let Area style not inherit from colorlines (as labels
	  work slightly different. Enable showarea property. Comment dupe Lines.

2012-05-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java
	  (doArea): Add Lines.LineData datatype to areable data types.

2012-05-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml: Add two new options for waterlevel label in cs.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
	  Parse new theme properties.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Adjust label according to chosen properties.

2012-05-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java
	  (parseShowLineLabelBG): parse show line label bg field of theme.

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Respect show line label bg setting of theme.

	* src/main/java/de/intevation/flys/jfree/XYStyle.java:
	  Apply setting from theme to renderer.

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

	* doc/conf/artifacts/winfo.xml: Added a 'helpText' field to each state.
	  The 'helpText' field represents in this case a message in the i18n
	  resources which should be a link to a online help page.

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Append the 'helpText' to 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: Added links to help text in
	  the FLYS wiki.

2012-05-03	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Use the colors specified in theme document for linelabel.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
	  New methods to find colors specified for linelabels.

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Store and use background and foreground color for linelabels.

	* src/main/java/de/intevation/flys/jfree/XYStyle.java:
	  Communicate colors of linelabels to renderer.

2012-05-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Actually use the font specified in theme document for linelabel.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
	  Fixed paths for linelabel-related fields in theme doc.

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Set font for linelabel.

2012-05-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml: No default background show for linelabels.

2012-05-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	  * src/main/java/de/intevation/flys/artifacts/states/WaterlevelInfoState.java:
	    Cosmetic, added annotation.

2012-05-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Parse font for linelabels, do not use it yet.

	* doc/conf/themes.xml: Add more theme properties related to linelabels.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java
	  (parseTextSize, parseLineLabelSize): New and slightly refactored.
	  (parseLineLabelFont): New.
	  (parseTextStyle, parseLineLabelStyle): New and slightly refactored.

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java
	  (setLineLabelFont, getLineLabelFont): New, accessors to
	                                        linelabelfont field.

	* src/main/java/de/intevation/flys/jfree/XYStyle.java
	  (applyLineLabelFont): New.

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

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
	  Make it compile again after signature change in backend.

2012-04-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Doc.

2012-04-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java:
	  Added local class LineData and return it to also include
	  Length of lines.

	* src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java:
	  Changed signature of interfaces getWaterLines.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
	  (getWaterLines): adjusted signature.

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
	  Adjusted to return type of Lines.createWaterLines.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Include length in label (stub).

	* src/main/java/de/intevation/flys/jfree/HasLabel.java:
	  New interface.

	* src/main/java/de/intevation/flys/jfree/StyledXYSeries.java:
	  Implement new HasLabel interface.

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Take into account that StyledXYSeries are HasLabel.

2012-04-26  Raimund Renkert <raimund.renkert@intevation.de>

	Initial transition configuration and artifact/state stubs for fixation
	analysis.

	* doc/conf/artifacts/fixanalysis.xml:
	  New. Initial transition configuration.

	* doc/conf/conf.xml:
	  Added artifact and factory entry to config.

	* src/main/java/de/intevation/flys/artifacts/FixationArtifact.java:
	  New. Stub with initial implementation.

	* src/main/java/de/intevation/flys/artifacts/states/fixation,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/QSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/ReferencePeriod.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationVolmerCompute.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/PreprocessingSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationPeriod.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FunctionSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/GaugeRange.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/LocationSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/AnalysisPeriods.java,
	  src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java:
	  New. Stubs for fixation states.

	* 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 i18n strings.

2012-04-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java:
	  Add method to calculate length of water lines.

2012-04-26	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Most of issue454: Label waterlevels.

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java
	  (drawSecondaryPass): Use correct label for lines.

2012-04-26	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java
	  (showSeriesMinimunX, showLineLabel): Renamed field.
	  (isShowLineLabel, setShowLineLabel): Added getters and setters for
	                                       showLineLabel field.
	  (drawSecondaryPass): Respect showLineLabel field, draw static text
	                       as placeholder for real label (stub).

	* doc/conf/themes.xml: Define theme prop 'showlinelabel' for Lines.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Parse theme
	                                                         theme prop.

	* src/main/java/de/intevation/flys/jfree/XYStyle.java: Apply showline
	                                                       theme prop.

2012-04-26	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
          Cosmetics, doc.

2012-04-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/Outlier.java:
	  Gah! Checked in out dated version.

	* src/main/java/de/intevation/flys/artifacts/services/FileUploadService.java,
	  src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java:
	  Removed superfluous imports.

2012-04-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/Outlier.java:
	  New. Simple Grubb's outlier test. Needs testing. ;-)

2012-04-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java
	  (isMinimumX): Implemented minimum finding for x in analogy to the ones for
	  y values. Stub to label dataset curves in plot.

2012-04-25	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Cosmetics, added doc, TODO and an OPTIMIZE.

2012-04-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FileUploadService.java:
	  Make it cross platform.

2012-04-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FileUploadService.java:
	  Make it compilable.

2012-04-18  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 657.

	* src/main/java/de/intevation/flys/artifacts/services/FileUploadService.java:
	  New. Service to upload a file as base64 string embedded in xml structure.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Extract shape files from zip archive and move them to artifact directory.
	  Add the user shapefile as parameter for wsplgen calculation.

	* src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java:
	  Remove the artifact directory on step back.

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java,
	  src/main/java/de/intevation/flys/exports/MapGenerator.java:
	  Create layer to display the uploaded shapefile.

	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java:
	  Create a facet to output the user defined layer.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added type for user shape file.

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java:
	  Resized array for '-lin' parameter.

	* doc/conf/artifacts/winfo.xml:
	  Added facet to diplay user defined shapefile.

	* doc/conf/conf.xml:
	  Added file upload service.

	* 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 i18n string.

2012-04-18  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 560.

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENLayerFacet.java:
	  New. Facet for WSPLGEN layers.

	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java:
	  Create a new WSPLGEN facet when creating uesk layers.

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java,
	  src/main/java/de/intevation/flys/exports/MapGenerator.java:
	  Use WSPLGENLayerFacet to create uesk layer.

	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
	  Switch back to false as return value in isQueryable().

2012-04-18  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 560.

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java:
	  Generate WSPLGEN-Layer with its own template and set the layertitle to
	  an i18n string.

	* src/main/java/de/intevation/flys/exports/MapGenerator.java:
	  Call createUeskLayer with a CallContext.

	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
	  Set queryable to true.

	* doc/conf/mapserver/wsplgen_layer.vm:
	  New. Template for WSPLGEN-Layer.

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

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Removed superfluous imports.

2012-04-18  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/themes.xml:
	  Added mapping for manual points in historical discharge chart.

2012-04-18  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Fixed duplicated legend entry for manual points.

2012-04-18  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 494.

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Create manual points with text annotations in time charts.

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java:
	  Add manual points to the chart.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added historical discharge to chart types.

	* doc/conf/artifacts/winfo.xml,
	  doc/conf/artifacts/manualpoints.xml:
	  Added manual points facet to output modes.

2012-04-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/fixoverview2html.xsl: Render optional check boxes.
	  Use different font. TODO: Move to client,

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Ignore hours and seconds.

2012-04-13  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 528, 637

	* src/main/java/de/intevation/flys/artifacts/model/WWQQJRDataSource.java:
	  Added fields for new columns.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Added columns for 'W at gauge' and fixed column header.

	* 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 filenames for new pdf export templates.

2012-04-13  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/jasper/reference_gauge_end.jasper,
	  doc/conf/jasper/reference_gauge.jasper,
	  doc/conf/jasper/reference_gauge_start_end.jasper:
	  Small fixes in pdf templates.

2012-04-12  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 528, 637.

	* doc/conf/jasper/reference_gauge.jasper,
	  doc/conf/jasper/reference_en_gauge.jasper:
	  Modified templates.

	* doc/conf/jasper/reference_gauge_end.jasper,
	  doc/conf/jasper/reference_gauge_start_end.jasper,
	  doc/conf/jasper/reference_en_gauge_end.jasper,
	  doc/conf/jasper/reference_en_gauge_start_end.jasper:
	  New. Templates for reference curve pdf export.

2012-04-12  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 528, 637.

	* doc/conf/jasper/reference.jasper,
	  doc/conf/jasper/reference_en.jasper:
	  Fixed column header.

	* doc/conf/jasper/reference_gauge.jasper,
	  doc/conf/jasper/reference_en_gauge.jasper:
	  New.

2012-04-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/check-i18n-properties.py: Checked in unsaved version. :-/

2012-04-11  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 656.

	* src/main/resources/messages_en.properties:
	  Added missing i18n strings.

2012-04-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/check-i18n-properties.py: New. Script to check inconsistencies
	of i18n properties files: Detects duplicates and keys not defined in other
	properties files. Usage:

	$ find -name messages\*.properties | \
	  xargs contrib/check-i18n-properties.py

2012-04-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Generate error message when more than one Q is found for given
	  Q in "W auf freier Strecke".

	* src/main/java/de/intevation/flys/artifacts/model/Calculation.java:
	  Added feature to adopt problems from other reports.

	* 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 i18n for the error message.

2012-04-11  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Use factor to calculate steps in range input mode.

2012-04-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/cache.xml: Increased number of fixings columns a bit.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsColumnFactory.java:
	  Corrected misspelled cache name. Added bebug output.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverviewFactory.java:
	  Added debug output.

2012-04-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  Small fixes: The service works as expected but there seems
	  to be a caching issue.

2012-04-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  Generate chart and deliver the image as the response of the service.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsColumnFactory.java:
	  Return null when looking for a fixing data column that does not exist.

2012-04-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FixingsColumnFactory.java:
	  Load ws and qs from database. Cache the fixings columns.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsColumn.java:
	  Removed column id and added q values.

	* doc/conf/cache.xml: Added cache for the columns of the fixings.

2012-04-05  Raimund Renkert <raimund.renkert@intevation.de>

	Fix for 'W free' validation and theme names.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Append the current Q values to theme name if the previous theme has
	  the same name.

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Use the start km to get min/max W values in distance mode and use the
	  first km to get min/max W values if in location mode.

2012-04-05  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 499.

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Added validation for 'W free' using WstValueTable min/max values.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Added getter for WstValueTable.

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

	* doc/conf/themes.xml: Defined a theme for WSPLGEN layers.

	* src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java:
	  Made style creation more robust against nullpointers and added an
	  Expression class.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added a static
	  method createWSPLGENStyle() and some helpers to create a WSPLGEN style.

	* src/main/java/de/intevation/flys/exports/MapGenerator.java,
	  src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Methods
	  for creating the WSPLGEN layer now take a style document.

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

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  Extract parameters from input xml and fetch fixings filters and overview
	  to find the columns to be viewed.
	  TODO: Generate chart.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsColumn.java: Added
	  boolean result to indicate if value comes from table or is interpolated.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsColumnFactory.java:
	  New. Factory to fetch fixings column data from cache or database. Stub by now.

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

	* src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java:
	  New. Service to generate a chart of fixings for given river and km applied
	  some filters.

	  Usage:
	     $ curl http://localhost:8181/service/fixings-km-chart \
	       -d @fix-overview.xml > chart.png

	  The input XML is nearly the same as for the overview service.
	  Besides the river, filters and range it accepts elements
	  <km value="..."/>                  for passing the river km,
	  <extent width="..." height="..."/> for the extent of the output chart,
	  <mime type="..."/>                 for type of result. Currently ignored.

	  ATM only a static fixed sized PNG image is delivered.

	* doc/conf/conf.xml: Added service to list of services.

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

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Made bullet proof for null filters and ranges.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java:
	  Fixed bug which leeds to always generating a null range filter.

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

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
	  Squashed performance bug introduced in rev4070, which slowed down
	  CSV export about 245 times!

	* src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java:
	  Added debug output about savings when joining neighbored nodes.

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

	* src/main/java/de/intevation/flys/artifacts/services/FixingsOverviewService.java:
	  Removed the code for filter building.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java:
	  New. Now contains the code for filter building. This useful because other
	  services like the "Fixierungs-Rohdaten am KM" service need this filtering, too.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Refactored the code to obtain a filtered list of fixings columns without
	  the XML serialization, too. The "Fixierungs-Rohdaten am KM" service
	  does not need the overview data but the ids of the fixing columns to be
	  displayed.

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

	* src/main/java/de/intevation/flys/artifacts/services/CacheInvalidationService.java,
	  src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java,
	  src/main/java/de/intevation/flys/artifacts/services/FLYSService.java:
	  Derive from XMLService now.

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

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

	flys/issue460 (W-Differenzen: Frühere Berechnungen aus den Datenkorb werden doppelt geladen)

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed
	  code to find out all Outputs of this Artifacts. A method getOutputs()
	  had been implemented some time ago that does exactly this work.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Heavy
	  bugfix! Adding the current state id to the list of previous state ids
	  for temporary usage was no good idea! Now, the list of previous state
	  ids only modifified in advance(). This solves the problem of having
	  duplicated Outputs in the Artifact's DESCRIBE document.

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

	flys/issue366 (W-INFO / Abflusskurve, Diagramm: Umbenennen von Themen und Anzeige im Diagramm)

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Use description from ArtifactAndFacet objects for JFreeChart Series
	  creation.

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

	flys/issue362 (W-Info / Abflusskurve, Diagramm)

	* doc/conf/themes.xml: Adjusted text color of w and q main values for
	  computed discharge curves.

2012-03-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	  flys/issue639: Bezugsliniendiagramm,Achsen-Intervall-Skalierung vereinheitlichen

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Render only axis ticks in meters.

2012-03-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml: Let hyks have a text orientation in themes.

2012-03-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue491, if area fill between curve and axis, draw not only
	to zero.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java
	  (doArea): Add an artificial dataset to set lower bounds for area.

	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java
	  (addPoints): New convenience method to be used in future.
	  (createGroundAtInfinity, createCeilingAtInfinity): Create artificial
	  datasets for better areas.

2012-03-20  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 506.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Create the date from long values instead of the year.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java:
	  Added method to transform a String into an array of long values.

	* doc/conf/artifacts/winfo.xml:
	  changed data type from intrange to longrange.

2012-03-20  Ingo Weinzierl <ingo@intevation.de>

	flys/issue544 (Historische ATs: Eingabeunterstützung W/Q)

	* src/main/java/de/intevation/flys/artifacts/services/GaugeInfoService.java:
	  New service that returns information for gauges based on a specified
	  river.

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

2012-03-20  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/DischargeInfoService.java:
	  Skip DischargeTables that have no time interval set or that are marked
	  as master DischargeTable.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation6.java: Skip
	  DischargeTables that have no time interval set.

2012-03-20  Ingo Weinzierl <ingo@intevation.de>

	flys/issue146 (In WINFO Diagramm Abflusskurve raus, wenn nicht gewünscht)

	* doc/conf/artifacts/winfo.xml: Do not create outputs for discharge curves
	  at gauge any longer.

2012-03-20  Ingo Weinzierl <ingo@intevation.de>

	flys/issue252 (W-INFO: Wasserspiegellagenberechnung / Mitführung der Jährlichkeiten in der Diagramm-/Ergbnisausgabe)

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Added
	  the numeric value of a selected named main value to the WST column name.

2012-03-16  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/mapserver/db_layer.vm: Set the FILTER expression into double
	  quotes (") instead of single quotes (') which allows single quotes in
	  expressions.

	* doc/conf/meta-data.xml: Moved the floodmaps from kilometrage to its
	  parent folder.

	* src/main/java/de/intevation/flys/artifacts/WMSFloodmapsArtifact.java:
	  Fixed broken filter expression and set geometry type (MapServer does not
	  know a 'MULTIPOLYGON').

2012-03-16  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Remove unnecessary outputs from attributes instead of copying outs to
	  new attribute element.

2012-03-16  Ingo Weinzierl <ingo@intevation.de>

	* Tagged module as 'pre2.7-2012-03-16'.

2012-03-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Removed useless imports.

2012-03-16  Ingo Weinzierl <ingo@intevation.de>

	flys/issue523 (W-INFO / Bezugslinienverfahren / Linieneinstellungen / Min+Max anzeigen)

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Improved the look of the minimum and maximum shape of a series. They are
	  now rectangles with a darker fill color as the line color is.

2012-03-15  Ingo Weinzierl <ingo@intevation.de>

	flys/issue522 (W-INFO / Bezugslinienverfahren / Schriftgröße der Achsenbeschriftung)

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Label and
	  tick label fonts for axes will now always be the same.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Removed the createYAxis() method which is already implemented in an
	  upper class. There, the method also takes the ChartSettings into account.

2012-03-15  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 547.

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveExporter.java:
	  Use date format with MEDIUM style.

	* src/main/java/de/intevation/flys/utils/Formatter.java:
	  Added date format with MEDIUM style.

2012-03-15  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartHelper.java: Added a new
	  method that returns the Bounds for a given XYDataset. Based on the
	  concrete type of the XYDataset, the call is dispatched to a more specific
	  method.

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Removed the whole "range" stuff and some methods that are implemented in
	  upper classes.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Removed the
	  setXRange() and setYRange() methods. In our own code, we will use Bounds
	  instead of JFreeChart's Range instances to save range/bounds information.
	  This is necessary to save information which is not not from type double
	  (which is the case in Timeseries charts).

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Replaced
	  usage of Range with Bounds in the whole class.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Adapted the method signature of zoom() and zoomX().

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

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Copied the adjustAxes() method from XYChartGenerator which enables axes
	  label font sizes.

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java:
	  Removed unnecessary axes creation method which is implemented in upper
	  classes.

2012-03-14  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 640.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Remove all unnecessary output settings from attributes.

2012-03-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial for flys/issue358, rough stub for legenditem aggregation.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Added rough stub for legend aggregation.

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

	* doc/conf/themes.xml: Fixed broken XML syntax.

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

	* doc/conf/meta-data.xml: Modified the datacage structure of 'floodmaps'.

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

	* src/main/java/de/intevation/flys/artifacts/WMSFloodmapsArtifact.java: New.
	  This Artifacts allows loading 'floodmaps'.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added a
	  new Facet type "floodmap.floodmaps" which are created by
	  WMSFloodmapsArtifact.

	* doc/conf/artifacts/winfo.xml: Registered the "floodmap.floodmaps" facet
	  for "floodmap" output.

	* doc/conf/conf.xml: Registered the new WMSFloodmapsArtifact.

	* doc/conf/themes.xml: Added a theme for the "floodmap.floodmaps" facet.

	* 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 i18n string for
	  "floodmap.floodmaps" title.

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

	* doc/conf/meta-data.xml: Improved datacage configuration to serve
	  floodmaps.

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

	flys/issue566 (ÜSK: Formalien in der Parametrisierung)

	* src/main/java/de/intevation/flys/artifacts/states/FloodplainChoice.java:
	  Override getLabelFor() method to return better I18N strings for selected
	  floodplain option.

	* 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 options
	  for floodplain (active/inactive) and adapted a german I18N string.

2012-03-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue 528 for csv.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Fixed column order, reworked todos.

2012-03-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Fixed column order.

2012-03-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Stub to export the "W (cm)" column conditionally on Gauge presence.

2012-03-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/StepCSVWriter.java:
	  New utility to handle csv rows of more "dynamical" length.

2012-03-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/StepCSVWriter.java:
	  New utility to handle csv rows of more "dynamical" length.

2012-03-01	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue501 (manual points have two legend entries).

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Respect wish to not have a legend entry.

2012-03-01	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue636 (cross-section: name of waterlevel facets).

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Corrected name for waterlevel facets.

2012-03-01	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial fix flys/issue615 (datacage: events for fixations).

	* doc/conf/meta-data.xml: Adjusted to make loading single events
	  possible.

2012-03-01	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial Dontcrash on flys/issue647 (NaNs from WstValueTable interpolation).

	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java:
	  Do not add data pairs where a NaN is present.

2012-03-01	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Cosmetics, doc.

2012-02-27  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Added functions to be used for fitting in
	the "Fixierungsanalyse" and "Extremwertermittlung".

	* src/main/java/de/intevation/flys/artifacts/math/fitting/Function.java: New.
	  Abstract base class for functions to fit. Provides the name of the function,
	  a short description, the names of the parameters and an initial parameter guess
	  for the fit processe. Sub classes have to overwite the function evaluation and
	  the partial derivative of the function in respect to the parameters.

	  TODO: Add a meachnism for the inverse function (needed for AT export) and
	  the first derivative (needed for the respective diagram).

	* src/main/java/de/intevation/flys/artifacts/math/fitting/FunctionFactory.java:
	  New. Factory to fetch a function by its name.

	 * src/main/java/de/intevation/flys/artifacts/math/fitting/Exp.java: New.
	   exp: W(Q) = m * a^Q + b

	 * src/main/java/de/intevation/flys/artifacts/math/fitting/Quad.java: New.
	   quad: W(Q) = n*Q^2 + m*Q + b

	 * src/main/java/de/intevation/flys/artifacts/math/fitting/Linear.java: New.
	   linear: W(Q) = m*Q + b

	 * src/main/java/de/intevation/flys/artifacts/math/fitting/LogLinear.java: New.
	   log-linear: W(Q) = a*ln(m*Q + b)

	 * src/main/java/de/intevation/flys/artifacts/math/fitting/Log.java: New
	   log: W(Q) = m*ln(Q + b)

	 * src/main/java/de/intevation/flys/artifacts/math/fitting/Pow.java: New.
	   pow: W(Q) = a*Q^c + d

	   !!! This power function is new in the pool of functions to be fit. !!!
	   See my mail "Manuelle Punkte in der Fixierungsanalyse" 2011-10-27 for details.
	   The function exp-new found in the old FLYS function pool is omitted
	   because it is worthless and was maybe never used.

	* src/main/java/de/intevation/flys/artifacts/math/fitting/App.java: New.
	  Small test driver to check if the fitting is working. The points to
	  fit are read from stdin the function to fit is determined by the
	  system property 'function'. Example usage:

	    $ mvn -e \
	    -Dfunction=linear \
	    -Dexec.mainClass=de.intevation.flys.artifacts.math.fitting.App exec:java <<EOF
	    357.390696917 7546.72096163
	    61.4291036312 1334.54835721
	    799.962128234 16836.7698076
	    126.52761023 2703.69789985
	    900.448553398 18955.0578748
	    EOF

2012-02-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/resources/messages_de.properties:
	  Added ommitted translations.

2012-02-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	fix flys/issue638.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java
	  (doArea): Ract to WKms as upper/lower area data again.

2012-02-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial fix flys/issue637.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java,
	  src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  Modified translations.

2012-02-21  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	 * src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	   - Calculate the extent of the river by the extents of the fixings.
	   Reason: The river Elbe has only has fixings up to km 351. The other half
	   of the river is empty which results in a sparse looking overview.
	   - Add the name of the river as name attribute to resulting <river> element.

	 * contrib/fixoverview2html.xsl: New. Demo XSL transformation to turn
	   the output of the overview service directly into HTML. Used in the
	   client a variant of this script could be used for producing the content
	   of the assistance widget. Usage:

	   $ curl http://localhost:8181/service/fixings-overview \
	     -d @fix-overview.xml |                              \
	     xsltproc contrib/fixoverview2html.xsl -             \
	     > fixings-overview.html

2012-02-20  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/FixingsOverviewService.java:
	  Made the filter mechanisms available via the incoming XML document.

	  1 - range: Simply add a <range from="..." to="..."/> element next to the
	      <river> element. Optional. Defaults to full extent.

	  2 - filters: Add a <filter> element next to the <river> element.
	      Optional. Defaults to accepting all.
	      The <filter> element can contain the following elements:

	        <column cid="..."/>: Creates an IdFilter.
	        <date when="..."/>: Creates a DateFilter.
	        <date-range from="..." to="..."/>: Creates a DateRangeFilter.
	        <sector-range from="..." to="..."/>: Create a SectorRangeFilter.
	        <not>...</not>: Creates a NotFilter. The nested element is negated.
	        <and>...</and>: Create an AndFilter: The nested elements are 'and'ed.
	        <or>...</or>: Create an OrFilter: The nested elements are 'or'ed.

	  These filters need testing!

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Made date format a public constant.

2012-02-20  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Added a filter mechanism for generating output.

	  There are two kinds of filters:

	  1 - A range. Defaults to [-Double.MAX_VALUE, Double.MAX_VALUE]
	      The resulting sectors are cut to this range. Sectors outside
	      this range are omitted.

	  2 - column filters: Given a fixing column they can decide to keep
	      or not to keep it. Following filters exist:

	      - IdFilter: Keep column if column id matches.
	      - DateFilter: Keep column if column date matches.
	      - DateRangeFilter: Keep column if column date is in range.
	      - SectorRangeFilter: Keep colum if one of its q sectors is in given range.
	      - NotFilter: Negates another nested filter.
	      - AndFilter: Keep column if all nested filters accept column.
	      - OrFilter: Keep column if at least one of the nested filters accepts it.

2012-02-20  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  Refactored to build the Q sectors once at construction time and not
	  every time output is generated.
	  This will ease the job of applying filters to the Overview.

2012-02-19  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	  Service to generate the data needed to build the "Fixerungen pro Fluss Uebersicht"

	* src/main/java/de/intevation/flys/artifacts/services/FixingsOverviewService.java:
	  New. A service that serves an XML overview version of the fixings of a given river.

	  The input documents look like this:

	    <?xml version="1.0" encoding="UTF-8"?>
	    <fixings>
	      <river name="Saar"/>
	    </fixings>

	  The output documents looks like this:

	  <?xml version="1.0" encoding="UTF-8"?>
	  <fixings>
	    <river from="0.0" rid="1" to="93.0"/>
	    <events>
	      ...
	      <event cid="85" date="29.01.1995 00:00" name="Fixierungen/0-93_1988-2001.wst">
	        <sector class="0" from="82.7" to="92.85"/>
	      </event>
	      <event cid="86" date="13.11.1996 00:00" name="Fixierungen/0-93_1988-2001.wst">
	        <sector class="2" from="0.0" to="50.599999"/>
	        <sector class="1" from="50.6" to="65.89"/>
	      </event>
	      ...
	    </events>
	  </fixings>

	  The <river> element contains the extent of the whole river
	  and its db id.
	  The <events> sections contains serveral <event> elements.
	  They have a meassure date, db id, a name and a number of <sector>s.
	  These sectors are q classified from/to ranges. Classes are:

	  0: smaller (MNQ+MQ)/2
	  1: (MNQ+MQ)/2 to (MQ+MHQ)/2
	  2: (MQ+MHQ)/2 to HQ5
	  3: greater HQ5

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java:
	  New. Cacheable instance of the overview.
	  TODO: Apply a filter mechanism when generating the output.

	* src/main/java/de/intevation/flys/artifacts/model/FixingsOverviewFactory.java:
	  New. Fetched the fixing overviews from cache if configured.

	* doc/conf/conf.xml: Added the service.
	* doc/conf/cache.xml: Configured the cache for the fixing overviews.

2012-02-17  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(getMinMaxQ):
	  Argh! Forget to check in the range method.

2012-02-17  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(getMinMaxQ):
	  Symmetrical to getMinMaxW() add two methods to find min/max Q for a given
	  km or a range. The range method is maybe a bit slow.

2012-02-17  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(getMinMaxW):
	  Added signature to give w extend for a given km range.

2012-02-17  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(getMinMaxW):
	  Added method to find the w extent for a given km. Useful
	  for validating "W auf freier Strecke".

	* src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java:
	  Removed superfluous import.

2012-02-17  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java,
	  src/main/java/de/intevation/flys/utils/FLYSUtils.java,
	  doc/conf/artifacts/winfo.xml:
	  Renamed state data fields: wq_mode      -> wq_isq
	                             wq_free      -> wq_isfree
	                             wq_selection -> wq_isrange

2012-02-17  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
	  Write the description instead of the Q value to CSV file.

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java:
	  Added parameter to overriden method.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java:
	  Get Qs without range.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  Adjusted i18n string for CSV metadata.

2012-02-17  Ingo Weinzierl <ingo@intevation.de>

	Part II/III flys/issue497 (Diagrammeigenschaften in Zeitseriendiagrammen)

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Apply legend specific settings (show/hide).

2012-02-17  Ingo Weinzierl <ingo@intevation.de>

	Part I/III flys/issue497 (Diagrammeigenschaften in Zeitseriendiagrammen)

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Moved
	  adjustPlot() from XYChartGenerator to ChartGenerator which enables the
	  TimeseriesChartGenerator to call this method as well.

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Call adjustPlot() in generateChart() to apply the settings specific to
	  gridlines in the timeseries plot.

2012-02-16  Raimund Renkert <raimund.renkert@intevation.de>

	Refactored the wq data fields.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Changed the wq data fields to boolean values.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java:
	  Changed the wq data fields to boolean values and added method that
	  returns the km input mode.

2012-02-16  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
	  Fixed W->Q conversion for "W fuer ungleichwertige Abflusslaengsschnitte."

2012-02-16  Ingo Weinzierl <ingo@intevation.de>

	flys/issue509 (Dauerlinie: Q-Achse sollte bei 0 beginnen)

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Set the lower bounds of the Q axis to 0 to avoid displaying negative
	  discharge values.

2012-02-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java,
	  src/main/java/de/intevation/flys/artifacts/model/WKms.java:
	  (guessWaterIncreasing): Removed from interface.

2012-02-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue150 (exposure of gravitational anomalies)

	* src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java,
	  src/main/java/de/intevation/flys/artifacts/model/WKms.java:
	  (guessWaterIncreasing): In analogy to W->WQ->WQKms defined and
				  implemented.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  (needInvertAxis): Changed Parameter type to WKms (was WQKms).
	  (doW): Use in this case weaker wkms cast to find out whether axis
		 has to be inverted.

2012-02-15  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java: Fixed
	  SQL statement to fetch hyk formations for rivers with 'km_up' = 0.

2012-02-14  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Another partial fix for flys/issue499: Do the W to Q conversions
	needed for "W am Pegel" correctly.

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Repaired getQsForW(): The mapping from W to Q is not unique! There
	  could be more then one Q having the the same W.
	  Ws are not strictly monoton/sorted so doing a binary search on this
	  is just a fail. We now scan them linearly.

	  XXX: The whole class is mess. The scaling stuff is a stupid
	  and there is no caching.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Fetch the master discharge table for converting Ws to Qs. Handle
	  the case that there are more Qs for a given W.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation6.java,
	  src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
	  Adjusted to new semantic.

2012-02-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial Fix flys/issue500: text-orientation for texts.

	* doc/conf/themes.xml: Change default text orientation for text
	  annotations.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Minor cosmetics.

	* src/main/java/de/intevation/flys/themes/ThemeAccess.java:
	  Parse and apply text rotation field.

2012-02-13  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Partial fix for flys/issue499 (Wasserspiegellagen: Berechnung für W frei und Pegel kaputt)
	There are still validation issue in the client.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Fixed state evaluation for "W auf freier Strecke"/"W am Pegel".
	  There is still an issue in the client with the input validation
	  which prevents entering the right W values for
	  "W auf freier Strecke". :-/

2012-02-13  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Make it compilable again.

2012-02-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial Fix flys/issue500: text-backgrounds for manual points.

	* doc/conf/themes.xml: Added text-related style items to manual
	  point themes.

2012-02-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial Fix flys/issue500

	* src/main/java/de/intevation/flys/themes/ThemeAccess.java:
	  Parse whether to show text background. Apply to textannotation.

2012-02-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue490

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Pass artifact and facet for doAnnotation.

2012-02-10  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WWAxisTypes.java:
	  Use AddScaleFunction instead of LinearFunction.

	* src/main/java/de/intevation/flys/artifacts/math/AddScaleFunction.java:
	  New. f(x) = m*(x+b). I know its aequivalent to m*x + m*b but it
	  makes more clear that the datum [m] (PNP) is substracted before the
	  scaling to cm is done.

2012-02-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Bugfix: take
	  care on empty ArtifactAndFacet objects in doAnnotations().

2012-02-10  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/NormalizedReferenceCurveGenerator.java:
	  Inherits from ReferenceCurveGenerator now which really simplifies it a lot.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Added to methods to be overwritten by sub classes.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Adjusted i8n.

2012-02-10  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WWAxisTypes.java:
	  Indexed access to getInCm.

	* src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java:
	  Simplified. Do not provide any data to blackboard. Only side effect the
	  call context.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Added convinience method to i18n string with defaulting to key name.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Label the axis according the scale types of the data.
	  TODO: Let the NormalizedReferenceCurveGenerator be a sub class of
	  this.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: i18n for the reference curve axes.

2012-02-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveExporter.java:
	  Fixed wrong double array dimension for PDF exports and write correct
	  differences into PDF.

2012-02-10	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java:
	  Adjust function to deliver data provider ('blackboard') keys.

	* src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java:
	  Change the way we exploit the blackboard-mechanism. TODOs added.

2012-02-10  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Argh! Finally found the stupid bug in the W~W relation:
	  Used iQ1 index on W2(Q2).

2012-02-10  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Improved error messsages even more.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Adjusted messages.

2012-02-10  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java:
	  Forget to put new created WWAxisType onto blackboard.

2012-02-10  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WWAxisTypes.java:
	  Adjust offset of linear function by same factor as the values.

2012-02-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: Write
	  correct min and max values for date axes into the info document.

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Enabled zooming for timeseries charts.

2012-02-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/jfree/Bounds.java,
	  src/main/java/de/intevation/flys/jfree/TimeBounds.java,
	  src/main/java/de/intevation/flys/jfree/DoubleBounds.java: Added a method
	  applyBounds(ValueAxis, int) that might be used to adapt the range of the
	  axis to the bounds adding a space to the left and right.

2012-02-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Defined
	  new abstract methods for setting and getting Bounds. Modified and
	  renamed getValueAxisRange(). This method is now called
	  getValueAxisRangeFromRequest() and returns no longer a Range object but
	  a String array that consists of the raw string values speicified in the
	  request document.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Implemented the missing method getDomainAxisRange(). This method returns
	  a Range object based on the String array returned from
	  getValueAxisRangeFromRequest().

2012-02-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/jfree/TimeBounds.java: Added new
	  methods getLowerAsDate() and getUpperAsDate(). The toString() method
	  will now return a string that contains a human readable date string.

	* src/main/java/de/intevation/flys/jfree/DoubleBounds.java: Made 'lower'
	  always be smaller than 'upper' in the default constructor.

2012-02-10  Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Give more precise message when an error occurs in W~W relation.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  Improved error messages.

2012-02-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Modified
	  and renamend getDomainAxisRange(). This method is now called
	  getDomainAxisRangeFromRequest() and returns no longer a Range object but
	  a String array that consists of the raw string values specified in the
	  request document.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Implemented the missing method getDomainAxisRange(). This method returns
	  a Range object based on the String array returned from
	  getDomainAxisRangeFromRequest().

2012-02-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartHelper.java: Added a
	  helper function to determine the min and max bounds (x and y) for
	  TimeSeriesCollections.

2012-02-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/jfree/TimeBounds.java,
	  src/main/java/de/intevation/flys/jfree/DoubleBounds.java: Removed
	  useless imports.

2012-02-10  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WW.java:
	  Add accessors to relative heights.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Add relative heights (to gauge) to csv export.

2012-02-09  Ingo Weinzierl <ingo@intevation.de>

	* pom.xml: Added dependency to GeoTools swing module.

	* src/main/java/de/intevation/flys/artifacts/map/PrintMap.java: Standalone
	  demo application to print WMS layers to file.

2012-02-09  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/jfree/TimeBounds.java,
	  src/main/java/de/intevation/flys/jfree/DoubleBounds.java,
	  src/main/java/de/intevation/flys/jfree/Bounds.java: New model classes that
	  should be used for adapting axes ranges later.

2012-02-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation5.java:
	  Generate a valid intial i18n name.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java:
	  Pass call context to calculation.

2012-02-09  Ingo Weinzierl <ingo@intevation.de>

	flys/issue485 (Themen können umgenannt werden, dies wird nicht in der Legende reflektiert)

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Use ArtifactAndFacet.setFacetDescription() to set the description for
	  themes which are stored in the Collection's XML attribute.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/NormalizedReferenceCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Some refactoring of doXXXOut() methods. We pass the ArtifactAndFacet
	  objects of doOut() into those concrete doOut() methods which allows us to
	  generate series names for chart curves.

2012-02-09  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Replaced dashes by underscores in entities
	  to ease translation.

2012-02-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/NormalizedReferenceCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Fixed problem with including Y-Zeros.

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java,
	  src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Removed superfluous imports.

2012-02-09  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Allow points in "new chart"s.

	* doc/conf/artifacts/chart.xml: Added manualpoint facets to
	  compatibility lists.

2012-02-09  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/jfree/Style.java: New. A Style object
	  needs to implements a method applyTheme() which takes a
	  XYLineAndShapeRenderer.

	* src/main/java/de/intevation/flys/jfree/XYStyle.java: New. This subclass of
	  Style modifies the XYLineAndShapeRenderer specified in applyTheme().

	* src/main/java/de/intevation/flys/jfree/StyledSeries.java: New. This
	  interface defines two methods getStyle() and setStyle() to adjust and
	  retrieve the Style of a series.

	* src/main/java/de/intevation/flys/jfree/StyledTimeSeries.java: New.
	  Implementation of StyledSeries that subclasses JFreeChart's TimeSeries.

	* src/main/java/de/intevation/flys/jfree/StyledXYSeries.java: Removed the
	  code for adapting a XYLineAndShapeRenderer. Instead of implementing this
	  stuff in StyledXYSeries itself, this instance now implements StyledSeries
	  and stores an instance of XYStyle.

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java:
	  Create new instances of StyledTimeSeries now which enables styling in this
	  chart.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Enabled
	  styling of series for all series that implement StyledSeries.

2012-02-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(relateWs):
	  Be more conservative about arrays and indices in "Bezugslinienverfahren".

2012-02-09  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Allow areas in new chart/longitudinal_section.

	* doc/conf/artifacts/chart.xml: Added area facet to compatibility
	  list.

2012-02-09  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue490. Allow CollisionFree..Annotations to collide with
	non-collision-free annotations.

	* src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotationEntity.java:
	  New, to take advantage of cheap instanceof operator.

	* src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java:
	  Only avoid collisions with members of same family (i.e. allow
	  collision with annotations of other types).

2012-02-09  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/themes.xml: Added themes for historical discharge curves and
	  the differences to a reference curve.

2012-02-09  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation6.java: Some
	  bugfixes and improvements:
	  1) take only historical discharge tables into account for calculation
	  2) use the correct values for computing differences
	  3) moved timerange preparation into an own method

2012-02-09  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/EnterMultipleLocationsState.java:
	  Fix call to StringUtils.join .

2012-02-09  Felix Wolfsteller	<felix.wolfsteller@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 i18n string for waterlevels (from datacage).

2012-02-09  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/EnterMultipleLocationsState.java:
	  Locale-format multiple double values also.

2012-02-09  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Registered a new facet for difference curves
	  to the historical discharge output.

	* src/main/java/de/intevation/flys/artifacts/model/HistoricalWQTimerange.java:
	  New model that is able to store a further double value "diff" besides a W,
	  Q and a Timerange.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation6.java: Create
	  new HistoricalWQTimerange instances with difference between the reference
	  discharge table and the historical discharge tables.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: New type
	  for historical differences.

	* src/main/java/de/intevation/flys/artifacts/model/WQTimerange.java: Cast
	  Timerange array in getTimeranges().

	* src/main/java/de/intevation/flys/artifacts/model/HistoricalDischargeDifferenceFacet.java:
	  New Facet for historical discharge difference curves.

	* src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java:
	  Create new Facets for the difference curves if the processed data are from
	  type HistoricalWQTimerange.

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java:
	  Added doOut() path for difference curves.

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveExporter.java:
	  Increased the size of a double array to be able to get results from
	  HistoricalWQTimerange.

	* 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 translation for warning
	  if no reference discharge table was found for the specified gauge.

2012-02-09  Raimund Renkert <raimund.renkert@intevation.de>

	Added PDF export to reference curve calculation.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Added PDF export.

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java,
	  doc/conf/artifacts/winfo.xml:
	  Add facet for PDF export to state.

	* src/main/java/de/intevation/flys/artifacts/model/WWQQJRDataSource.java:
	  New. Datasource for JasperReports containing reference curve data.

	* 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 i18n strings for JasperReports template file and calculation mode.

	* doc/conf/jasper/reference.jasper,
	  doc/conf/jasper/reference_en.jasper:
	  New. Templates for reference curve PDF export.

2012-02-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java(getReferenceEndKms):
	  Prevent duplicates in end kms for reference curve calculation.

2012-02-09  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  doc/conf/artifacts/winfo.xml: Renamed data item names to allow
	  translations.

2012-02-08  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java:
	  Give (Normalized)ReferenceCurveFacets are more appropriate
	  description (to be seen in client).

2012-02-08  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Prepare Reference curves to eat multiple locations as 'Ziel'.

	* src/main/java/de/intevation/flys/artifacts/states/EnterLocationState.java:
	  Cosmetics.

	* src/main/java/de/intevation/flys/artifacts/states/EnterMultipleLocationsState.java:
	  New. State to provoke multi_location_panel.

	* doc/conf/artifacts/winfo.xml: Made end state of ref curves a (new)
	  EnterMultipleLocationState.

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

	flys/issue483 (Historische Abflusstafeln ohne Ergebnis)

	* src/main/java/de/intevation/flys/artifacts/model/Calculation6.java: Add
	  a problem for the calculation report if no discharge tables were found
	  for the given timerange.

	* 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 translation for error
	  messages created by Calculation6.

2012-02-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/utils/Formatter.java:
	  Format kms in error reports at least with one digit after
	  the decimal separator.

2012-02-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Fix flys/issue468 (Fehler beim Projekt-Duplizieren)

	* src/main/java/de/intevation/flys/exports/ReportGenerator.java:
	  Always create a new XML document when calling report generation.
	  XXX: There is a bug somewhere which calls error reporting twice
	  when cloning a collection. Speculation: It has something to do with
	  the settings stuff.

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java,
	  src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Remove superfluous imports.

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENCalculation.java:
	  Added missing Override annotation.

2012-02-08  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Handle Manual Point Facets, added TODO.

2012-02-08  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java:
	  Subclass BlackboardDataFacet to repair areas over cross sections.

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Let text
	  and line annotations placed at x or y axes always be in foreground.

2012-02-08  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue474 (manual points in reference curves).

	* doc/conf/artifacts/winfo.xml,
	  doc/conf/artifacts/manualpoints.xml:
	  Add manualpoints to lists just so that really everybody knows.

	* doc/conf/themes.xml: Add styles for manual points in ref curves.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Add ref curve chart types.

	* src/main/java/de/intevation/flys/exports/NormalizedReferenceCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Handle manual point facets.

2012-02-08  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial Fix flys/issue474.

	* 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 translation for
	  normalized_reference_curve.

2012-02-08  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue475.

	* doc/conf/themes.xml: Register theme for reference_curve_normalized.

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

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Add a "/" to the
	  URL of the user wms if the URL configured in conf.xml doesn't end with
	  a "/".

2012-02-08  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue472.

	* doc/conf/themes.xml: Added theme for discharge_curve manualpoints.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added discharge_curve as chart type.

2012-02-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Fix flys/issue484 ((i18n: Ungleichwertige... Report))

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Fixed key spelling.

2012-02-08  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue478 (Manuelle Punkte: Stil nicht änderbar).

	* doc/conf/themes: Map correct theme to manualpoint themes.

2012-02-08  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial fix flys/issue472 .

	* doc/conf/artifacts/winfo.xml: Add manual points to compatibility
	  list of cross_sections.

	* doc/conf/artifacts/manualpoints.xml: Add manualpoints to list of
	  generated facets.

2012-02-08  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml: Commented styling option for show area until
	  area calculation works.

2012-02-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation.java:
	  i18n the km of the error report.

	* src/main/java/de/intevation/flys/artifacts/resources/Resources.java:
	  Fixed potential race conditions.

	* src/main/java/de/intevation/flys/utils/Formatter.java: Added
	  formatter for error report kms.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java:
	  Removed superfluous imports.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Commented out some imports. They are used be out commented code.

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

	* src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java:
	  Use the correct km key for an unspecific km for fetching the whole river
	  annotations.

2012-02-07	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/conf.xml: Added missing config of chart info generator
	  of normalized reference curve.

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

	* doc/conf/conf.xml: Fixed wrong chart info generator name for historical
	  discharge curves.

2012-02-07  Raimund Renkert <raimund.renkert@intevation.de>

	Added PDF export for historical discharge curve calculations.

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveExporter.java:
	  Implemented PDF export for calculation results.

	* src/main/java/de/intevation/flys/artifacts/model/WQTJRDataSource.java:
	  New. Datasource for JasperReports.

	* doc/conf/artifacts/winfo.xml:
	  Added facet for PDF export to historical discharge curve output mode.

	* 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 i18n strings for historical discharge curve export.

	* doc/conf/jasper/historical-discharge.jasper,
	  doc/conf/jasper/historical-discharge_en.jasper:
	  New. Templates for JasperReports PDF creation.

2012-02-07  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Handle WWQQs, extended CSV export of reference curves.

2012-02-07  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
	  src/main/java/de/intevation/flys/exports/AbstractExporter.java:
	  Recactored, moved Formatter accessors to base class AbstractExporter.

2012-02-07  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Let reference curve calculation result in specific WWQQ, extended CSV

	* src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java
	  (getWW,getWWQQ): Renamed and changed result type.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation5.java,
	  src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java:
	  Result in WWQQs, not in WWs.

2012-02-07  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Log error as warning.

2012-02-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/LinearFunction.java:
	  New. Linear function f(x) = m*x + b.

	* src/main/java/de/intevation/flys/artifacts/model/WWAxisTypes.java:
	  Do the normalizing. Cascading functions is not required.

2012-02-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/NormalizedReferenceCurveInfoGenerator.java:
	  Added missing chart info generator for the normalized reference curves.

2012-02-06  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_de.properties: Fix i18n.

2012-02-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WWAxisTypes.java:
	  Added optional boolean flag to indicated if the data should be 'normalized'.
	  TODO: Build the cascading normalising function call chain.

	* src/main/java/de/intevation/flys/exports/NormalizedReferenceCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Fetch WWAxisTypes from call context to do the right scaling.

2012-02-06  Raimund Renkert <raimund.renkert@intevation.de>

	Added service for discharge infos at a specific gauge.

	* doc/conf/conf.xml: Added service factory entry.

	* src/main/java/de/intevation/flys/artifacts/services/DischargeInfoService.java:
	  New. Returns description, start year and end year of discharges at a
	  specific gauge.

	* src/main/java/de/intevation/flys/artifacts/states/GaugeTimerangeState.java:
	  Return a more specific ui provider string.

2012-02-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/conf.xml: Registered generator for normalized reference curves.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added "reference_curve_normalized".

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java:
	  Added facets for normalized reference curves.

	* src/main/java/de/intevation/flys/exports/NormalizedReferenceCurveGenerator.java:
	  Generator for normalized reference curves.

2012-02-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/artifacts/winfo.xml: Added config for "reduzierte Bezugslinie".

2012-02-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/artifacts/winfo.xml: Added error report.

2012-02-06  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: Set
	  proper bounds for date axis elements; tell the transformation matrix which
	  type it is (number/date).

2012-02-06  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Include location description string in csv output of referencecurve-
	  exporter.

2012-02-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WW.java: Added constructor call.
	* src/main/java/de/intevation/flys/artifacts/model/WWQQ.java: New.
	  Stores the Qs for the Ws, too.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation5.java: Create
	  WWQQs instead of WWs.

2012-02-06  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Added further i18n stubs and slightly more data.

2012-02-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(relateWs):
	  Return the Qs of the Ws, too.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation5.java:
	  Adjusted to cope with the return Qs. TODO: Create WQWQ or WWQQ dataset
	  for storing the result.

2012-02-06  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Added further i18n stubs.
	  Also added a second Y axis (experimental, to ease axis labeling etc.).

2012-02-06  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Register new export output and csv
	  facet for reference curves.

	* doc/conf/conf.xml: Register Exporter for reference curve.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java:
	  Primitive exporter, bland copy of another one.

2012-02-06  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Enabled some i18n of labels.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Basic i18n for reference
	  curves added.

2012-02-06  Ingo Weinzierl <ingo@intevation.de>

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

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveInfoGenerator.java:
	  New. This info generator returns information of a
	  HistoricalDischargeCurveGenerator.

	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: Add an
	  attribute "axistype" to axes nodex based on the JFreeChart Axis type.
	  Number axes get a "number", date axes a "date".

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Defined an
	  abstract method getRangesForAxis().

	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: Awaits
	  now an instance of ChartGenerator instead of XYChartGenerator.

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Implemented the getRangesForAxis() method (copied from XYChartGenerator).

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added
	  @Override annotation to getRangesForAxis().

2012-02-06  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesExporter.java:
	  Cosmetics.

2012-02-06  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java:
	  Add CSV facet (not yet evaluated).

2012-02-06  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveExporter.java:
	  New. This OutGenerator exports historical discharge curves to CSV and PDF.
	  Currently, only the CSV export is implemented!

	* doc/conf/artifacts/winfo.xml: Registered a new Output CSV for historical
	  discharge curves.

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

	* src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java:
	  Generate new Facets for CSV and PDF  output.

	* src/main/java/de/intevation/flys/utils/Formatter.java: Added new functions
	  that return number formatters for historical discharge curves and a date
	  formatter for short dates.

	* 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 strings for CSV header of
	  historical discharge curve export.

2012-02-06  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Adjusted to name change in River ('hibernate fix').

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

	* doc/conf/artifacts/winfo.xml: Adapted the data type of W/Q input values
	  for historical discharge curve calculation (intarray -> doublearray).

	* src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeState.java:
	  Adapted the data type of W/Q input values.

2012-02-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	First steps to serve the data in cm if we are are gauges only.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Fetch map gauge station -> gauge datum from backend for reference curve.

	* src/main/java/de/intevation/flys/artifacts/math/LinearFilterFunction.java:
	  New. Linear transforms another function.

	* src/main/java/de/intevation/flys/artifacts/math/FilterFunction.java:
	  New. Allows cascading functions.

	* src/main/java/de/intevation/flys/artifacts/model/WWAxisTypes.java:
	  New. Classifier what kind of axis types are needed.

	* src/main/java/de/intevation/flys/artifacts/model/NormalizedReferenceCurveFacet.java:
	  Removed. Is now obsolete.

	* src/main/java/de/intevation/flys/artifacts/model/WW.java:
	  Stores gauge station kms for start and end km if they are any.

	* src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java:
	  Should generate a WWAxisTypes classifier via side effect to the
	  call context.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation5.java:
	  Figure out for each start/end km if its a gauge station and store this
	  information in the result WWs.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Uses the WWAxisTypes classifier now to generate the right data.
	  TODO: Use the blackboard object.

2012-02-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/EnterLocationState.java:
	  Removed superfluous imports.

2012-02-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Set number of interpolation steps for relation curve to 200.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Do not sort the XYSeries.

2012-02-03  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveInputState.java:
	  Removed. Was stub.

2012-02-03  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Improved Reference Curves.

	* doc/conf/artifacts/winfo.xml: Add start/end input step for reference
	  curves.

	* doc/conf/themes.xml: Add theme for reference curve.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Disable start/end point-hack for reference curve. Go with 'live'
	  values.

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java:
	  i18n.

	* src/main/java/de/intevation/flys/artifacts/states/EnterLocationState.java:
	  New. State to enter location.

	* src/main/java/de/intevation/flys/artifacts/states/InputDoubleState.java:
	  New.

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Take WW name to display in themepanel.

	* 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 translations.

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

	* src/main/java/de/intevation/flys/artifacts/model/Calculation6.java: Use
	  the current date for discharge tables which doesn't have a stop time set.
	  A warning message is written to log.

	* src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java:
	  Generate report facet before leaving the computeXXX() method when no
	  calculation results has been computed.

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

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function
	  that returns the name of a reference gauge (for historical discharge
	  curves).

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java:
	  Create title, subtitle and axes labels for charts of this type.

	* 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 title, subtitle and axes
	  labels for historical discharge curves.

2012-02-03  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Fix.

2012-02-03  Felix Wolfsteller	<felix.wolfsteller@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 translations for
	  states (will be shown in client).

2012-02-03  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Ja!vadoc.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Declare getYAxisWalker as abstract to avoid weird issue with
	  overriden methods of this name.

2012-02-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java:
	  Use the WW.ApplyFunctionIterator to fetch the data.

	* src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java:
	  Removed superfluous imports.

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

	* doc/conf/artifacts/winfo.xml: Registered a ReportFacet for historical
	  discharge curve report.

	* doc/conf/conf.xml: Registered a ReportGenerator for historical discharge
	  curves.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation6.java: Add
	  problems if we were not able to find a Q for a given W.

	* src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java:
	  Generate a ReportFacet if there were problems during calculcation.

	* 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 error messages for the
	  case that we were not able to find a Q for a given W while calculating
	  historical discharge curve data.

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

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java:
	  Improved adding new data for historical discharge curves: skip NaN
	  values; use JFreeChart's Day TimePeriod instead of Second.

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java: Refactoring:
	  moved addDatasets(), applyThemes() and some other methods into
	  ChartGenerator; enhanced the AxisDataset interface.

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Implemented necessary abstract methods and improved internal AxisDataset
	  class (added new methods).

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

	* src/main/java/de/intevation/flys/exports/ChartHelper.java: Added a
	  function that expands a given range. Take care on NaN in getRanges().

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Prevent of NullPointerExceptions in isMinimumShapeVisible() and
	  isMaximumShapeVisible().

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

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java:
	  Create new AxisDatasets and new TimeSeriesCollections for each Facet.

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

	* src/main/java/de/intevation/flys/artifacts/model/WQTimerange.java: Added a
	  method getTimerange(idx) that returns the Timerange at a given index.

	* src/main/java/de/intevation/flys/artifacts/model/HistoricalDischargeFacet.java:
	  Return the correct WQTimerange object in getData().

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java: More
	  refactoring: the AxisDataset is defined by an interface in ChartGenerator
	  now. Each subclass of ChartGenerator should implement its own AxisDataset.
	  This allows us to provide multiple XYDataset types in different charts.

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Implemented some necessary methods (abstract definitions of parent class)
	  and create new empty timeseries charts.

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

	* src/main/java/de/intevation/flys/exports/ChartHelper.java: New helper
	  class for working with charts.

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

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Removed useless import.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java: More
	  refactoring: moved more base code from XYChartGenerator to its parent
	  class ChartGenerator.

2012-02-02  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java:
	  Refactored. Use supers static field.

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
	  Refactored. Use static field.

	* src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java,
	  src/main/java/de/intevation/flys/utils/FLYSUtils.java
	  (getMinMax, getRiverMinMax): Refactored. Moved to FLYSUtils.

	* src/main/java/de/intevation/flys/artifacts/states/MinMaxState.java:
	  Add so-called javadoc.

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java: Moved
	  further base code from XYChartGenerator into its ChartGenerator.

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  Override generateChart() instead of generate() which is now implemented
	  in ChartGenerator.

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

	* src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java:
	  New. This ChartGenerator should be used for timeseries charts. Currently,
	  this class is a stub only! WORK IS IN PROGRESS!

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java:
	  Subclasses TimeseriesChartGenerator now instead of XYChartGenerator,
	  because historical discharge curve charts will have a time x axis set.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java: Moved some
	  basic stuff from XYChartGenerator into ChartGenerator.

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

	* src/main/java/de/intevation/flys/artifacts/charts/TimeseriesStepChart.java:
	  Added standalone demo app for evaluating different timeseries charts.

2012-02-02  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 466: CSV export for chart themes.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Export a CSV file if the requested format is 'csv'.

	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java:
	  Generate the CSV file containing X-Y-data of all activated themes.

2012-02-01  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Moved code to load values of a discharge table into an own static
	  function to be able to reuse it in Calculation6.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation6.java:
	  Implemented the findValueForW().

2012-02-01  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fake some reference curve input values to have working prototype
	to work on.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Syntax-stunt fake reference inputs.

	* src/main/java/de/intevation/flys/artifacts/model/WW.java
	  (getW1): Accessor for first w at index (for the raw ww).

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java
	  (doReferenceOut): Plot the raw W-over-W.

2012-02-01  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Create time
	  millis for timerange used in Calculation6.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation6.java: Added
	  the first step of the calculation: fetch relevant discharge tables based
	  on the given input parameters. The calculated values are not the right
	  ones! Finding Ws and Qs in discharge tables is still not implemented! WORK
	  IN PROGRESS!

	* src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java:
	  Create facets for each WQTimerange object calculated by Calculation6.

2012-02-01  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Timerange.java: Added a
	  new constructor that takes Date objects for start and end time.

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

	* src/main/java/de/intevation/flys/artifacts/model/W.java:
	  Forget to create ws data in constructor.

2012-02-01  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Replaced Reference Curve input state
	  with LocationSelect-State for debugging purposes. Add output to
	  reference.curve- state.

2012-02-01  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/conf.xml: Register ReferenceCurve*Generators.

2012-02-01  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java:
	  Cosmetics.

2012-02-01  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java:
	  Added pro forma facet.

2012-02-01  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java:
	  Added comment.

2012-02-01  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added reference curve facet type.

2012-02-01  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Fetch
	  necessary parameters for 'historical discharge curve' calculation and call
	  Calculation6 with those parameters.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation6.java:
	  Modified default constructor and calculate() signatures and added a
	  parameter check which is evaluated before the calculation starts.

2012-02-01  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ReferenceCurveInfoGenerator.java:
	  Added outline of a new chart-generator.

2012-02-01  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Timerange.java: New.
	  This class might be used to store timeranges. Start and end time are
	  stores as long (milliseconds since january 1, 1970).

	* src/main/java/de/intevation/flys/artifacts/model/WQTimerange.java:
	  New. This class should be used to save Ws, Qs and timeranges.

2012-02-01  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added helper
	  methods to extract int[] and double[] from string.

2012-02-01  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Registered new facet type
	  'historical_discharge.historicalq' to the 'historical_discharge' output.

	* doc/conf/conf.xml: Registered new HistoricalDischargeCurveGenerator for
	  output type 'historical_discharge'.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  new facet type for HISTORICAL_DISCHARGE_Q.

	* src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java:
	  New. This ChartGenerator is used to generate new charts for historical
	  discharge curves. WORK IN PROGRESS!

	* src/main/java/de/intevation/flys/artifacts/model/Calculation6.java: New.
	  This class should 'compute' the historical discharge curves. WORK IN
	  PROGRESS!

	* src/main/java/de/intevation/flys/artifacts/model/HistoricalDischargeFacet.java:
	  New. This Facet is used during the calculation of historical discharge
	  curves.

	* src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java,
	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added stubs
	  to trigger the calculation of data used for generating historical
	  discharge curve charts.

2012-02-01  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Removed needless imports.

2012-02-01  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/resources/messages_de.properties,
	  src/main/resources/messages_de_DE.properties:
	  Fixed "W bei ..m" -> "W fuer ...n" .

2012-02-01  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Avoid NPE, add warning to log to not forget about it.

2012-01-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation.java:
	  Fixed problems with unformatted numbers in error message.

2012-01-31  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeState.java:
	  Override getLabelFor() to return the I18N string for the selected
	  evaluation mode.

2012-01-31  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Modified types of parameters in the
	  'historical discharge curves' transitions.

2012-01-30  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Fix transition type (Stupid Bug 1.0 reverse).

2012-01-30  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceGaugeState.java:
	  Override getLabelFor() method defined in DefaultState to return the name
	  of a Gauge based on the official number which is stored in the
	  parameterization.

2012-01-30  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Allow manual points in more diagram types.

	* doc/conf/artifacts/winfo.xml: Add respective facet types to
	  compatibility lists of output modes.

	* doc/conf/artifacts/manualpoints.xml: Mention facet types.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added ChartType enum to ease later iteration.
	  (IS.MANUALPOINTS): Added helper.

	* src/main/java/de/intevation/flys/artifacts/model/ManualPointsFacet.java:
	  Help artifact figuring out which data to provide by passing facet
	  name.

	* src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java:
	  Respond to getPointData with correct data item, depending on facet
	  name.

	* src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java:
	  Iterate over chart types. Add facets if corresponding data is found.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Handle manual point facets.

2012-01-30  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Clone
	  StateData model objects to save parameters in this Artifact - create
	  new StateData instances only if no StateData model was found for a
	  parameter. This solves the problem of loosing the type of a StateData.

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Implemented a getLabelFor() method that is used to format a parameter
	  value.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
	  Adapted method signature of transform().

	* src/main/java/de/intevation/flys/artifacts/states/MinMaxState.java:
	  Override getLabelFor() method to create a well formatted label for min/max
	  values.

2012-01-30  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/StateFactory.java:
	  Bugfix: use correct order of parameters in DefaultStateData constructor.

2012-01-30  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Fixed a stupid bug. Use
	  ValueCompareTransition instead of DefaultTransition to evaluate values.

2012-01-30  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/MinMaxState.java:
	  Write default values for min and max items into the DESCRIBE document.

2012-01-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WW.java:
	  Added field 'startKm' and 'endKm' to make it easier to associate
	  gauge to km to return Ws in cm if km is at a gauge.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation5.java:
	  Construct the WWs with startKm and endKm. This is necessary because
	  if an error occurs in calcuting an in between km in a list of end kms
	  the index does not correspond to the input value any more.

2012-01-30  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Added transitions for "historical discharge
	  curves" calculation.

2012-01-30  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  (doPoints): Skip 'inactive' points.

2012-01-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WW.java:
	  Removed the createNormalized() method because it did not
	  solve all problems with the transformation of the W~W data we have.

	  - We need to shift the values to be based in (0, 0).
	  - We need to linear transform the values if they are at gauges.
	  - Copying the data is memory expensive.

	  Therefore there is now a new inner class ApplyFunctionIterator
	  that is able to transform the values in an iterator like manner.
	  The transform functions default to the identity.

	* src/main/java/de/intevation/flys/artifacts/math/Sub.java: New.
	  Simple function that subtract a scalar from the parameter.

	* src/main/java/de/intevation/flys/artifacts/model/W.java: Added
	  method minWs() to calulate the minimal W of the data.

	* src/main/java/de/intevation/flys/artifacts/model/NormalizedReferenceCurveFacet.java:
	  getData() returns a WW.ApplyFunctionIterator with identity transform.

	* src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java:
	  getData() returns a WW.ApplyFunctionIterator with a base shift to (0, 0).

2012-01-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WW.java:
	  Added method createNormalized() to shift the data to start in (0, 0).

	* src/main/java/de/intevation/flys/artifacts/model/NormalizedReferenceCurveFacet.java:
	  Returns the 'normalized' data of the reference curve.

2012-01-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/NormalizedReferenceCurveFacet.java:
	  New. Facet for the normalized W~W relation.
	  TODO: Implement the on-the-fly creation logic.

	* src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java:
	  New. Facet for the W~W relation.

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: Cosmetics.

2012-01-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java:
	  Added stub loop for creating facets.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Cosmetics.

2012-01-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Call the 'Bezugslinienverfahren'.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  I18N for the 'Bezugslinienverfahren' error messages.

2012-01-27  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml: Better theme for manual points.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Theme text part of manual points. Offset it a bit.

2012-01-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation5.java:
	  Fixed stupid bug.

2012-01-27  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceGaugeState.java,
	  src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java,
	  src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeState.java,
	  src/main/java/de/intevation/flys/artifacts/states/GaugeTimerangeState.java:
	  New. States used in the 'historical discharge curve' calculation.

2012-01-27  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/MinMaxState.java: New
	  state that eases adding min/max value pairs to describe document.

	* src/main/java/de/intevation/flys/artifacts/states/IntRangeState.java:
	  New. Subclasses MinMaxState and allows adding min/max integer value pairs.

2012-01-27  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: Moved
	  code to add items to a data node for dynamich UI into an own method.

2012-01-27  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WQKmsFacet.java: Removed
	  useless import.

2012-01-27  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 strings which are used n
	  the calculation "historical discharge curve".

2012-01-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	 * src/main/java/de/intevation/flys/artifacts/model/Calculation5.java:
	   New. Calcutation to be created from WINFOArtifact
	   for the 'Bezugslinienverfahren'.

	 * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	   Added TODO about optimization of the 'Bezugslinienverfahren'.
	   Added number of default samples of the W~W relation.

	 * src/main/java/de/intevation/flys/artifacts/model/WW.java:
	   Added convinience constructor to store the calculation results.

	 * ChangeLog: Removed false TODO.

2012-01-27  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesExporter.java:
	  Read jasper template file from resources to support i18n reports.

	* doc/conf/jasper/wdifferences.jasper,
	  doc/conf/jasper/duration.jasper,
	  doc/conf/jasper/computed-discharge.jasper,
	  doc/conf/jasper/waterlevel.jasper:
	  Updated report template. Resized left margin.

	* doc/conf/jasper/computed-discharge_en.jasper,
	  doc/conf/jasper/duration_en.jasper,
	  doc/conf/jasper/wdifferences_en.jasper,
	  doc/conf/jasper/waterlevel_en.jasper:
	  New. Templates for english reports.

	* 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 i18n strings for template files and modes.

2012-01-27  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Prevent second Legend Entry for points (prior was one for the
		  TextAnnotations and one for the points).

2012-01-27  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Blindly render Text of manual points if it does not collide with
	other text.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Handle TextAnnotations, create some for manual points.

	* src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java:
	  Added setter for TextAnnotations, documentation.

2012-01-27  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,

2012-01-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Refactored class hierachy to integrate model for W~W:

	NamedObjImpl
	\-- W
	    +-- WW
	    \-- WQ
	        +-- WQDay
	        \-- WQKms
	            \-- WQCKms

	* src/main/java/de/intevation/flys/artifacts/model/W.java:
	  New. Base class

	* src/main/java/de/intevation/flys/artifacts/model/WW.java:
	  New. Model for W~W

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQDay.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQ.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQCKms.java:
	  Adjusted to follow the new class hierarchy.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java:
	  Removed superfluous imports.

2012-01-27  Felix Wolfsteller	<felix.wolfsteller@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,
	  src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java:
	  i18n for ManualPointsFacets.

2012-01-27  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 138: PDF output for calculations.

	* src/main/java/de/intevation/flys/exports/WDifferencesExporter.java:
	  Create the PDF data source and generate the PDF report output.

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
	  Add the PDF facet to state. Add export facets only once.

	* doc/conf/artifacts/winfo.xml:
	  Added PDF facet to state.

	* src/main/java/de/intevation/flys/artifacts/model/WKmsJRDataSource.java:
	  Added new field type 'differences'.

	* doc/conf/jasper/wdifferences.jasper:
	  New. Template for w-differences PDF export.

2012-01-27  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java:
	  New method that creates and returns the chosen differences of w-difference
	  calculation as string.

2012-01-27  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 138: PDF output for calculations.

	* src/main/java/de/intevation/flys/exports/DurationCurveExporter.java:
	  Create the PDF data source and generate the PDF report output.

	* src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
	  doc/conf/artifacts/winfo.xml:
	  Added PDF facet to state.

	* src/main/java/de/intevation/flys/artifacts/model/WKmsJRDataSource.java:
	  Added new field type 'day'.

	* doc/conf/jasper/duration.jasper:
	  New. Template for duration curve PDF report.

2012-01-26  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 138: PDF output for calculations.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java:
	  Create the PDF datasource and generate the PDF report output.

	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
	  doc/conf/artifacts/winfo.xml:
	  Added PDF facet to state.

	* doc/conf/jasper/computed-discharge.jasper:
	  New. Template for computed discharge PDF report.

2012-01-26  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 138: PDF output for calculations.

	* pom.xml: New Dependency to net.sf.jasperreports/jasperreports and
	  org.codehaus.groovy/groovy-all.

	* src/main/java/de/intevation/flys/exports/AbstractExporter.java:
	  Added methods for PDF generation.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
	  Create the PDF data source and generate the PDF report output.

	* src/main/java/de/intevation/flys/artifacts/model/WKmsJRDataSource.java:
	  New. Data source for jasper reports containing the waterlevel calculation
	  result.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Added facet for PDF export to state.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added PDF facet type.

	* src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesExporter.java:
	  Added stub for inherited abstract method.

	* doc/conf/artifacts/winfo.xml:
	  Added PDF facet to outputmode 'export'.

	* doc/conf/jasper,
	  doc/conf/jasper/waterlevel.jasper:
	  New. Folder for jasperreports templates and first template for
	  waterlevel report.

	* 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 i18n string for calculation mode.

2012-01-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Renderer 'manual' points in LongitudinalSectionGenerator.

	* pom.xml: New dependency to org.json/json.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  (doOut): Handle manual points.
	  (doPoints): Add point- series.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added MANUALPOINTS Facet Type.

	* doc/conf/themes.xml: Added Default Theme for Manual Points.

	* doc/conf/artifacts/winfo.xml: Added manual point facet to
	  compatibility list of longitudinal section diagram.

2012-01-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Cosmetics.

	* src/main/java/de/intevation/flys/artifacts/model/ManualPointsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java:
	  Removed obsolete imports.

2012-01-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Add initial infrastructure for user-provided data ('manual points').

	* doc/conf/artifacts/manualpoints.xml: Trivial state model for new
					       Artifact.

	* doc/conf/conf.xml: Registered manualpoint artifact and factory.

	* src/main/java/de/intevation/flys/artifacts/model/ManualPointsFacet.java,
	  src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java,
	  src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java:
	  New. Basic infrastructure for ManualPoints.

2012-01-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/artifacts/winfo.xml: Removed superfluous condition checks.

2012-01-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Cosmetics, documentation.

2012-01-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/artifacts/winfo.xml: Add states/transitions stubs for
	"Bezugsllinenverfahren."

	* src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveInputState.java:
	  Stubs for the two new states.

2012-01-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/visualize-transitions.xsl: Fixed output of the conditions
	  of the transitions. Now you can see the circumstances
	  when a branch is taken.

2012-01-25  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 461.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Override buildChartSection() to disable the chart subtitle entry in
	  ChartSettings.

2012-01-24	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	I18N for WINFO calculations messages.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation.java:
	  Allow optional arguments in error messages to support meaningful
	  formatting containing e.g. numbers.

	* src/main/java/de/intevation/flys/artifacts/resources/Resources.java:
	  Added a convenience getMsg() method.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java,
	  src/main/java/de/intevation/flys/artifacts/model/Calculation2.java,
	  src/main/java/de/intevation/flys/artifacts/model/Calculation3.java,
	  src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java,
	  src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
	  Adjusted the code to use the I18N symbols now.

	* 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 the I18N strings.

2012-01-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Handle the case in "W auf freier Strecke" where more than
	  one Q is related to a W. TODO: Generate user report.

2012-01-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Added code for the simple case of "Bezugslinienverfahren" ("W auf freier Strecke").
	  TODO: Handle case if the model returns more than one Q for a given W.

	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Micro optimizations.

2012-01-23  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue452 (Annotations at second y-axis).

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new type (duration_curve.mainvalues.q).

	* doc/conf/themes.xml: Added theme mapping for new facet type.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Create another Facet.

	* doc/conf/artifacts/winfo.xml: Added new facet type to compatibility
	  list.

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Handle new Facet.

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Added field to be able to remember which axis to stick to.

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java:
	  Tell Annotations to stick to Q axis in the special duration_curve
	  environment.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  (AxisDataset): Added plotAxisIndex to now have a
			 two-way-association.
	  Tell own axisDatasets to which 'jfreechart'-axis they are assigned.
	  Evaluate which axis the StickyAxisAnnotations should be sticked to,
	  and calculate text and line positions accordingly.
	  Removed junk.

2012-01-23  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix compilation.

	* src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java:
	  Use StickyAxisAnnotations instead of XYTextAnnotations.

2012-01-23  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Some unification of Annotation handling.

	* src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java:
	  Add a third annotation type (now have text, hyk and sticky).

	* src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java:
	  Use double instead of float values, removed commented code.

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Reduced to keep information about placements etc only. Not a
	  Annotation (in JFreeChart sense) anymore.

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Use StickyAxisAnnotations instead of XYTextAnnotations.

	* src/main/java/de/intevation/flys/themes/ThemeAccess.java:
	  Added new LineStyle class.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Call addAnnotationsToRenderer later, where positioning information
	  is already known.
	  (addAnnotationsToRenderer): Deal with the three Annotation types.
				      Instead of StickyAnnotations, add
				      CollisionFreeXYText- and
				      XYLineAnnotations.
	  (Area): Helper class.

2012-01-23  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Some unification of Annotation handling.

	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java:

2012-01-23  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue395 (SVG/PDF-Export: Längsschitt enthält keine
		Streckenfavoriten.)

	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java:
	  Fix pdf/svg rendering of annotatios, by adding a
	  ChartRenderingInfo-object to the chart.draw call.

2012-01-20  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Added new key and getter for a short subtitle. The short subtitle is
	  used if no range exists.

	* 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 i18n string for shor subtitle.

2012-01-20  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/ChartArtifact.java:
	  Removed state validation. Validation prevents drawing the diffenrences
	  diagramm and all states except of WDifferencesState always return
	  true.

2012-01-20  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java:
	  New. Candidate to replace StickyAxisAnnotation eventually.

2012-01-20  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java:
	  Added null-guards to functions parameters.

2012-01-20  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java:
	  Respect flowing direction of river when finding valid
	  hykformations.

2012-01-20  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Add an empty facet to this state if the artifact is a Chartartifact.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Do not add the range to subtitle if no range exists.

2012-01-20  Raimund Renkert <raimund.renkert@intevation.de>

	'New chart' for cross sections.

	* doc/conf/artifacts/chart.xml: Updated the states and transitions for
	  new charts.

	* doc/conf/meta-data.xml: Added cross sections to datacage.

	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
	  Changed cast from WINFOArtifact to FLYSArtifact.

	* src/main/java/de/intevation/flys/artifacts/ChartArtifact.java:
	  Changed artifact data strings for chart_type.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  Changed i18n string for cross sections and logitudinal sections.

2012-01-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Add basic (text) styling for HYKs.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Minor cleanup, pass HYK theme on.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Apply TextStyle to TextAnnotation part for HYK zones.

	* src/main/java/de/intevation/flys/themes/ThemeAccess.java:
	  (TextStyle): New class to bundle text-styling info.

	* src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java:
	  Refactored constructors to ease setting Style in the newly
	  created usage scenario.

2012-01-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/StaticHYKState.java:
	  Cleanup. Mark spot where State-based caching could happen.

2012-01-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/HYKFacet.java:
	  Cosmetics.

2012-01-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/cache.xml: Added Cache for HYKS.

2012-01-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java:
	  Made HYKFactory.Zone Serializable.

2012-01-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/HYKArtifact.java:
	  Cosmetics.

2012-01-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Added style definition for hyks.

	* doc/conf/themes.xml: Added hyk style (text).

2012-01-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/cache.xml: Removed cache "service-distanceinfo".

	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java:
	  Now uses the annotations from the LocationProvider and the
	  XML documents are no longer cached.

2012-01-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/cache.xml: Removed "annotations" cache.

	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
	  Removed annotation caching.

	* src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java:
	  Changed internal data structure to FastAnnotations which are also cached.

	* src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java:
	  Use FastAnnotations now which are fetched via the LocationProvider.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Added
	  time measurement for writing the CVS output.

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

2012-01-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Respect visibility flag of HYK facet.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Log malcondition, make colored hyk-box a bit smaller.

2012-01-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/DataFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Cosmetics, docs, improved logging.

2012-01-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Recommend hyks for current river if hit by
	  a crosssection-out.

2012-01-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Somewhat improved HYK handling and rendering.

	* src/main/java/de/intevation/flys/artifacts/HYKArtifact.java:
	  Store ids in more sensibly named data item and expose it.
	  Spawn all facets in inactive state.

	* src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java:
	  Make HYK name accessible, do not query hyks by river, but by hyk-id,
	  made query more real-world.

	* src/main/java/de/intevation/flys/artifacts/states/StaticHYKState.java:
	  Use hyks name as facet name, pass hyk-id when asking for hyks.

2012-01-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Somewhat improved HYK handling and rendering.

	* src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java:
	  Added ability to store 'zones', next to text annotations.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  (getLowestYValue, getUppestYValue, colorForHYKZone),
	  (addBoxAnnotations): New. Create box annotations from zones.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  (doHYK): New, handle hyk facets by adding zones to annotation
		   container.

2012-01-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Preparing improved HYK handling.

	* src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java:
	  (Zone.getTo): New accesor.
	  TODOs and documentation added.

2012-01-18  Raimund Renkert <raimund.renkert@intevation.de>

	'New Chart' for w-differences curve.

	* doc/conf/artifacts/chart.xml: Added empty facet to output mode.

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
	  Add an empty facet if the artifact is a ChartArtifact.

2012-01-18  Raimund Renkert <raimund.renkert@intevation.de>

	'New Chart' for discharge longitudinal section curve.

	* doc/conf/artifacts/chart.xml: Added transition for location input.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  Changed cast from WINFOArtifact to FLYSArtifact.

	* src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java:
	  Add an empty facet if the artifact is a ChartArtifact.

2012-01-18  Raimund Renkert <raimund.renkert@intevation.de>

	'New Chart' for duration curve.

	* doc/conf/artifacts/chart.xml: Added state and transition for location input.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Changed cast from WINFOArtifact to FLYSArtifact.

	* src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java:
	  Add an empty facet if the artifact is a ChartArtifact.

2012-01-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Added accidentally ommitted HYKFacet, fixing build.

	* src/main/java/de/intevation/flys/artifacts/model/HYKFacet.java:
	  New, stubby facet for hyk infrastructure.

2012-01-18  Raimund Renkert <raimund.renkert@intevation.de>

	'New Chart' for computed discharge curve.

	* doc/conf/artifacts/chart.xml: Fixed transitions and added state for km input.

	* src/main/java/de/intevation/flys/artifacts/model/EmptyFacet.java:
	  New. Added an empty facet to avoid deleting an empty output.

	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java,
	  src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java,
	  src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java:
	  Changed some return values if the artifact is a ChartArtifact.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
	  Changed casts from WINFOArtifact to FLYSArtifact.

	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java:
	  Add an empty facet if the artifact is a ChartArtifact.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Set a default axis range if the range is null.

2012-01-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Added stub hyk infrastructure.

	* doc/conf/artifacts/hyk.xml: Added trivial transition configuration
	  for hyk artifacts.

	* doc/conf/conf.xml: Register HYK artifact and its transition conf.

	* src/main/java/de/intevation/flys/artifacts/HYKArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java,
	  src/main/java/de/intevation/flys/artifacts/states/StaticHYKState.java:
	  Added static 'hyk' artifact, facet and state.

2012-01-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Add 'hyk' facet type.

2012-01-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Add hyk facet to compatibility list of winfo.xml .

	* doc/conf/artifacts/winfo.xml: Add hyk facets to compatibility list.

2012-01-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
	  method getDataAsLong that returns a Long representation of a data item or
	  null if no such data item is existing or it cannot be parsed as Long.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function
	  that returns the selected reference gauge (specified by 'reference_gauge'
	  parameter) of a FLYSArtifact.

2012-01-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java:
	  Cache a TreeMap<km, annotation string> of the annotation values of whole
	  rivers. This is _much_ more efficient than firing an HQL/SQL statement for
	  each km and caching these results.

2012-01-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionLine.java:
	  Deleted. It is in the backend now.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionChunk.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionLineFactory.java,
	  src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Adjusted to use the fast cross section line from backend now.

	* doc/conf/cache.xml: Store cross section lines cache on disk.

	* src/main/java/de/intevation/flys/artifacts/states/StaticWQKmsState.java,
	  src/main/java/de/intevation/flys/artifacts/model/DataFacet.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: Removed
	  superfluous imports.

2012-01-17	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix assignment of stateId/hash in WaterlevelFacet.

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java:
	  More verbose logging, fix hash/stateid assignment.

	* src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java:
	  (deepCopy): implemented.

2012-01-17	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	"Ported" StaticWQKmsArtifact to use compute-type caching mechanism.

	* doc/conf/artifacts/staticwqkms.xml: Declare trivial info.

	* doc/conf/conf.xml: Register staticwqkms artifact and factory.

	* src/main/java/de/intevation/flys/artifacts/model/WQKmsFacet.java:
	  Sublacss DataFacet.

	* src/main/java/de/intevation/flys/artifacts/states/StaticWQKmsState.java:
	  New. State.

	* src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java:
	  Refactored. Most computation and stuff now done in State and Facet.

2012-01-17	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Minor cosmetics.

2012-01-17	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Refactoring.

	* src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java:
	  Added new constructor.

	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java:
	  Refactored, subclass BlackboardDataFacet.

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java:
	  Refactored, subclass DataFacet.

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

2012-01-17	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java:
	  Cosmetics, added new constructor.

2012-01-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	  Use improved caching for cross section data.
	  !!! This commit needs heavy testing !!!

	* src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java:
	  Refactored to provide the map to determine the nearest cross section line
	  neighbors for a given km to the public. This is a bit hackish because
	  it hhould have its own factory which is then used by this service and
	  other parts of the code.

	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
	  searchCrossSectionLine() now returns a FastCrossSectionLine. To find this
	  line efficiently it uses the map of the CrossSectionKMService which
	  already provides a nearest neighbor searching mechanism for cross
	  section lines. The FastCrossSectionLine is fetched with the
	  FastCrossSectionLineFactory which uses a cache as described in the
	  previous commit.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java
	  src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Uses
	  the FastCrossSectionLine instead of CrossSectionLines now.

	* src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionLine.java:
	  Added method fetchCrossSectionProfile() to access the point data in
	  the profile generating compatible way.

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

2012-01-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/cache.xml: Added cache for fast section lines chunks.

	* src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionChunk.java:
	  New. Chunks of FastCrossSectionLines. Stores cross section lines for ranges
	  of one KM.

	* src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionLineFactory.java:
	  New. Access fast cross section lines. It uses the cache 'fast-cross-section-lines'
	  configured in cache.xml to store chunks of cross section lines.

	* src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionLine.java:
	  New. Stores the important data (points) of a cross section line.

2012-01-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
	  Added a new calculation option for historical discharge curves.

	* 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 translations for
	  historical discharge curves.

2012-01-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Added certain facets to to
	  compatibility matrices.

2012-01-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/annotation.xml: Fixed accidental change.

2012-01-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/annotation.xml: Cosmetics.

2012-01-16  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/meta-data.xml: Enabled old floodmap calculations for output
	  type 'map'.

2012-01-13  Raimund Renkert <raimund.renkert@intevation.de>

	Initial implementation for module 'new chart'.

	* src/main/java/de/intevation/flys/artifacts/ChartArtifact.java:
	  New. Artifact for module 'new chart'.

	* doc/conf/artifacts/chart.xml:
	  New. Artifact description for the new artifact.

	* doc/conf/conf.xml:
	  Added new artifact to config.

	* 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 i18n strings for 'new chart' chart types.

2011-01-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
	  Cosmetics.

2011-01-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Avoid NPE when copying data from one artifact to another.

2011-01-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  (expandRange): Prevent collapse due to negative values.

2012-01-12  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/artifacts/map.xml,
	  doc/conf/conf.xml,
	  src/main/java/de/intevation/flys/artifacts/MapArtifact.java:
	  Changed the MapArtifact name to 'new_map'.

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

	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
	  Added code to calculate the area of the generated polygons.
	  TODO: Render the generated area sum to the plot.

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

	 * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
	   Replaced System.err.println()s with proper logging.

	  * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	    src/main/java/de/intevation/flys/artifacts/states/WaterlevelInfoState.java,
	    src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed
	    superfluous imports.

2011-01-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	flys/issue450 (i18n: Datenkorb: longitudinal-section)

	* doc/conf/meta-data.xml: Replaced dash by underscore in
	  longitudinal-section.

2011-01-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Towards areas on other than the first axes.

	* src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java:
	  Changed signature on which to provide data via the blackboard.
	  Include facets name to allow unique identification.

	* src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java:
	  Store name of one of the facets involved in area creation.
	  (AreaFacet.Data): New class to hold result data.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  New methods to find out whether we have a general Q or W type of
	  facet.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  (doArea): Use new Result-Data object instead of Object[], resolve
		    which axis to put area to.
	  (axisIdxForFacet): New.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Subclass LongitudinalSectionGenerator.

2011-01-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelInfoState.java:
	  Do not intefere with CrossSections.

2011-01-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Cosmetics, cleanups.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  (getCrossSections, getCrossSectionNames): Removed.

2011-01-11	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	flys/issue439 (Streckenfavoriten lassen sich nicht über den Datenkorb
		hinzuladen)

	* doc/conf/meta-data.xml: Made Annotations available via datacage
	  in longitudinal section, cosmetics.

2012-01-11  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/conf.xml:
	  Added output generator for output type 'map'.

	* doc/conf/artifacts/map.xml:
	  Changed output name to 'map'.

	* doc/conf/meta-data.xml:
	  Added new output type 'map'.

2011-01-11	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue446 (Dauerline/Abflusskurve am Pegel: Eigenschaften vom
	Hauptwertthema nicht aufrufbar)

	* doc/conf/themes.xml: Add default styles for mainvalues.q/w and other
	  themes.

2012-01-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java:
	  Removed XPath injection security hole. A serious one because it allowed
	  inspecting the conf.xml file ... with all the db passwords.

2012-01-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Removed superfluous imports.

2012-01-11  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/meta-data.xml: Added the definition of old calculation results
	  for floodmaps.

2012-01-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java: Added
	  methods getLayers() and removeLayer().

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
	  method getFacets() which returns a list of Facets supported by this
	  Artifact. In addition, the FLYSArtifact is now more verbose while
	  filtering Facets for Outputs.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Implemented initialize() which now copies the shapefile directory of the
	  model Artifact and modifies its Facets (adapts the shapepath which is the
	  uuid of the Artifact).

2012-01-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java,
	  src/main/java/de/intevation/flys/collections/OutputParser.java: Made
	  them more verbose for better debugging.

2012-01-09  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Initialize() now also calls State.initialize() for each State.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Override initialize() which is defined in AbstractState. NOTE: Currently,
	  this method has no code.

2012-01-07	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/CacheInvalidationService.java:
	  New. The service to invalidate the caches. (Argh! Forgot to 'svn add')

2012-01-06  Ingo Weinzierl <ingo@intevation.de>

	flys/issue298 (Karte: Automatischer Zoom auf Berechnungsergebnisse)

	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: Added a
	  debug statement that prints out the WSPLGEN extent.

	* src/main/java/de/intevation/flys/exports/MapGenerator.java: Create new
	  Envelope instances for initial and max extent if they are not existing.
	  Some debug statements have now been removed.

2011-01-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Add cache for 'static' wqkms (e.g. BaseData) to default cache conf.

	* doc/conf/cache.xml: Add Cache Config for static wqkms.

	* src/main/java/de/intevation/flys/artifacts/model/StaticWQKmsCacheKey.java:
	  Adjust typo in cache name, minor cosmetic.

2011-01-06  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/MapArtifact.java:
	  The map artifact has two states now and overrides describe() to
	  generate UI sections in the describe response.
	  The map state overrides computeAdvance() instead of computeFeed().

	* src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java:
	  Changed the WMSDBArtifact in WMSDBState to FLYSArtifact and adjusted
	  constructors in state classes.

	* doc/conf/artifacts/map.xml:
	  Added initial state and transition.

	* 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 i18n strings for new state.

2011-01-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial fix for flys/issue437 (Querprofil: Zugeladene Basisdaten
	ignorieren W/Q-heit, falsche Namen).

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  Set name also for first column (zero based).

2012-01-06  Ingo Weinzierl <ingo@intevation.de>

	flys/issue196 (i18n/l10n: Zahlenformate einheitlich)

	* src/main/java/de/intevation/flys/artifacts/model/WQ.java: New method
	  getRawValue() that extracts the raw double value from 'name' parameter.

	* src/main/java/de/intevation/flys/utils/Formatter.java: New method
	  getRawFormatter() that returns a NumberFormat instance for the current
	  locale.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
	  Localized the W/Q labels in CSV exports.

2011-01-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	flys/issue442 (i18n: Datenkorb: flood-protections)

	* doc/conf/meta-data.xml: Replaced dash in flood-protection by
	  underscore to allow translation.

2011-01-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	flys/issue438 (i18n: Datenkorb: additionals)

	* doc/conf/meta-data.xml: Fix typo.

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

	* src/main/java/de/intevation/flys/artifacts/services/CacheInvalidationService.java:
	  New. Uses the CacheFactory to invalidate caches by their names.
	  This can be used by external ETL processes like the AFT/DIPS importer
	  to prevent cache inconsistencies.

	  Input documents look like this:

	    <caches>
	      <cache name="my-cache"/>
	      ...
	      <cache name="your-cache"/>
	    </caches>

	  Output documents look like this:

	    <caches>
	      <cache name="my-cache">All elements removed.</cache>
	      ...
	      <cache name="your-cache">Error: Cache not found.</cache>
	    </caches>

	 * doc/conf/conf.xml: Added the cache invalidation service.

	* src/main/java/de/intevation/flys/artifacts/services/FLYSService.java:
	  Added Override annotation.

2011-01-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	flys/issue432 (Diagrammeigenschaften/Flächenrenderer:
	Legenden-schriftgröße für Flächenthemen wird ignoriert)

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Respect legend item size when generating legend items for
	  area dataseries.

2011-12-09  Raimund Renkert <raimund.renkert@intevation.de>

	Implemented new module "new map".

	* src/main/java/de/intevation/flys/artifacts/MapArtifact.java:
	  New. Artifact for the new module, extends RiverAxisArtifact and
	  contains the MapState class.

	* src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java:
	  Added empty constructor to embedded state classes to allow instantiation
	  of MapState that extends the RiverAxisState.

	* src/main/java/de/intevation/flys/exports/MapGenerator.java:
	  Do not generate an initialExtent element if the initial extent is
	  empty.

	* doc/conf/artifacts/map.xml:
	  New. Describes the state for the new module.

	* doc/conf/conf.xml:
	  Added new config file.

2012-01-05  Ingo Weinzierl <ingo@intevation.de>

	flys/issue444 (error_no_export_found bei "W bei ungleichwertigem Abfluss")

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: If no boolean
	  value "wq_free" exists in getWQMode(), false is the default.

2011-01-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	flys/issue443 (Querprofile: Hibernate LazyInitializationException)

	* doc/conf/cache.xml: Disable cache for cross-sections.

2012-01-05  Ingo Weinzierl <ingo@intevation.de>

	flys/issue447 (W-Differenzen: Fehler beim Hinzufügen einer Parameterisierung)

	* src/main/java/de/intevation/flys/collections/CollectionAttribute.java:
	  Added a new method cleanEmptyOutputs() which removes Outputs that have
	  no Facets set.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: Call
	  CollectionAttribute.cleanEmptyOutputs() at the end of write() to remove
	  empty Outputs that have been added during the merge process.

2012-01-05  Ingo Weinzierl <ingo@intevation.de>

	flys/issue440 (Karte: WSPLGEN Berechnungen für Mosel schlagen fehl)

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Modified the
	  getRiverBoundary() method because the signature of
	  RiverAxis.getRiverAxis() has changed. This method will now take each
	  geometry into account, that is retrieved by
	  RiverAxis.getRiverBoundary().

	* src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java:
	  Use GeometryUtils.getRiverBoundary() to determine the boundary of a
	  river.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Create the riveraxis shapefile with all geometries returned by
	  RiverAxis.getRiverAxis().

2012-01-05  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Repaired
	  broken items in legend. The new renderer requires the current plot. This
	  is set now.

2012-01-04  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/themes.xml: Added a new field 'pointsize' to the virtual theme
	  'HiddenColorLines'.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added methods to
	  parse the new field of 'HiddenColorLines'.

	* src/main/java/de/intevation/flys/jfree/StyledXYSeries.java: Apply the
	  pointsize defined in themes.

2012-01-04  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Use correct keys for buffering in getMinimum() and getMaximum().

2012-01-04  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java,
	  src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java,
	  src/main/java/de/intevation/flys/exports/EnhancedLineAndShapeRenderer.java:
	  Moved to de.intevation.flys.jfree.

	* src/main/java/de/intevation/flys/jfree/StyledXYSeries.java,
	  src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java,
	  src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
	  Moved from de.intevation.flys.exports.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Added necessary imports.

2012-01-04  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/EnhancedLineAndShapeRenderer.java:
	  Buffered the computation results of getMinimum() and getMaximum().

2012-01-04  Ingo Weinzierl <ingo@intevation.de>

	flys/issue393 (Themenstileditor: Minimum anzeigen / Beschriftung anzeigen)

	* src/main/java/de/intevation/flys/exports/EnhancedLineAndShapeRenderer.java:
	  New renderer that overrides JFreeChart's XYLineAndShapeRenderer. This
	  renderer brings the option to explicitly display the minimum and/or
	  maximum or a series as shape. Currently, there are no options to adjust
	  the style of those shapes.

	* doc/conf/themes.xml: Added a new virtual theme 'MinMaxPoints'. All line
	  theme inherit from that theme now.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added methods to
	  parse the fields 'showminimum' and 'showmaximum' of 'MinMaxPoints' theme.

	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java: Added
	  methods to apply the fields of the new Theme 'MinMaxPoints'.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Modified
	  the getRenderer() method which now always returns a new instance of
	  EnhancedLineAndShapeRenderer.

2011-01-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Allow styling of outline of areas.

	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
	  Allow styling of outline of areas.

	* src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java:
	  Parse outline style for areas, apply it to renderer.

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

	flys/issue104 (W-INFO: Wasserspiegellagenberechnung / Strecke)

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Call
	  the new flys-backend method Wst.determineMinMaxQFree() to determine the
	  min/max Qs at a given kilometer.

2011-01-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml: Reflect name chnage of longitudinal sections
	  area artifacts and include ColorLine style for area styles.

2012-01-02  Ingo Weinzierl <ingo@intevation.de>

	flys/issue370 (WINFO: Berechnungsausgabe W/Pegel [cm] fehlt bei Wasserspiegellage und W am Pegel)

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: New method that
	  extracts the double value of a WQ object's name.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Adapted
	  the header of CSV exports and the content of the "W at gauge" column.

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java:
	  Adapted method signatures that have been changed in WaterlevelExporter.

2012-01-02  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 strings used in the CSV
	  export.

2012-01-02  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Check
	  if the location of a CSV row is in range of the reference gauge. Write
	  "outside reference gauge" into CSV in such cases.

2012-01-02  Ingo Weinzierl <ingo@intevation.de>

	PART II of flys/issue125 (W-INFO: Wasserspiegellagenberechnung / tabellarische Berechnungsausgabe)

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Add the
	  named main value of a Q and the name of the gauge used for the calculation
	  if the WQ mode is "W at gauge" or "Q at gauge".

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java:
	  Adapted the method signatures that have been modified in
	  WaterlevelExporter.

2012-01-02  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/AxisSection.java,
	  src/main/java/de/intevation/flys/exports/ExportSection.java,
	  src/main/java/de/intevation/flys/exports/LegendSection.java,
	  src/main/java/de/intevation/flys/exports/ChartSection.java: Removed
	  unused imports.

2012-01-02  Ingo Weinzierl <ingo@intevation.de>

	PART I of flys/issue125 (W-INFO: Wasserspiegellagenberechnung / tabellarische Berechnungsausgabe)

	* doc/conf/cache.xml: Registered a new Cache for the LocationProvider.

	* src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java:
	  New. This class is able to return the description of a location based on a
	  river and kilometer parameter. The LocationProvider stores single
	  locations into a Cache if one is configured for this class.

	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java:
	  Added a method that returns a single Annotation for a specific kilometer and
	  river.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method
	  getLocationDescription() that might be used to determine the description
	  of a specified kilometer for a given river.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Make use
	  of FLYSUtils.getLocationDescription() to add a new column that contains
	  the location description.

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

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Write
	  min/max values for free Qs into Artifact's DESCRIBE document.

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

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Fixed
	  broken order to determine the step width of Qs and Ws.

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

	flys/issue104 (W-INFO: Wasserspiegellagenberechnung / Strecke)

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Validate user defined free Q values.

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

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Compute better step width based on a maximal number of steps = 30.
	  Results with digits are rounded up. E.g.:
	    Q range = 9.6 - 1750
	    Step width = 58.01
	    Rounded result = 60

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

	* src/main/java/de/intevation/flys/exports/AxisSection.java,
	  src/main/java/de/intevation/flys/exports/LegendSection.java,
	  src/main/java/de/intevation/flys/exports/ChartSection.java: Subclasses
	  TypeSection to be able to use convinience methods for string, integer,
	  double and boolean values.

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

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: The
	  getSize() method now returns null if no width and height is specified in
	  the request document or if width/height <= 0. It no longer returns the
	  result of getDefaultSize().

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Set the
	  size of a chart export to the size specified in the ChartSettings if
	  there are no valid values in the request document.

	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: Set the
	  chart size to ChartGenerator.getDefaultSize() if no valid values are
	  returned by ChartGenerator.getSize(). This has been done autoamtically
	  before.

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

	* src/main/java/de/intevation/flys/exports/TypeSection.java: New. This
	  Section defines some convinience methods to add/set string, integer,
	  double and boolean values.

	* src/main/java/de/intevation/flys/exports/ExportSection.java: New.
	  Subclasses TypeSection. The ExportSection currently offers attributes
	  'width' and 'height'.

	* src/main/java/de/intevation/flys/exports/ChartSettings.java: Added
	  getter/setter methods to support an ExportSection.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Create an
	  ExportSection while initial ChartSettings creation.

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added and
	make use of a new method createLegendLabelFont() to create unified Fonts for
	LegendItems. This method considers the user defined size for LegendItems.

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Implemented adjustAxes(). This method now sets the label Font of the X
	  axis. Its size is determined by getXAxisLabelFontSize().

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

	* src/main/java/de/intevation/flys/exports/AxisSection.java: Added method
	  getFontSize() to retrieve the font size for an axis.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Modified createYAxis(int): call super.createYAxis(int) and adjust
	  necessary settings - no Axis creation takes place here.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added
	  getXAxisLabelFontSize() and getYAxisLabelFontSize(int) to retrieve the
	  user defined font size for an axis. The getYAxisLabelFontSize() is used in
	  createYAxis(int) to set the font size for axes labels.

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

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Override getYAxisWalker().

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Create new
	  instances of IdentifiableNumberAxis in createYAxis(int) default
	  implementation.

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

	* src/main/java/de/intevation/flys/exports/AxisSection.java: Added
	  getLabel() to retrieve the axis label.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Override getDefaultXAxisLabel() and getDefaultYAxisLabel() defined in
	  XYChartGenerator.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Implement
	  getXAxisLabel() and getYAxisLabel(int). Both methods search for an axis
	  label defined in the ChartSettings first. If no label is specified or if
	  no ChartSettings is set, getDefaultXAxisLabel() or
	  getDefaultYAxisLabel(int) is called to retrieve the initial/default axis
	  label.

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

	* src/main/java/de/intevation/flys/exports/ChartSettings.java: Modified the
	  signature of addAxisSection(). This method now accepts AxisSections only.
	  In addition, there is a new method getAxisSection(String) that returns an
	  AxisSection specified by its identifier.

	* src/main/java/de/intevation/flys/exports/AxisSection.java: Added new
	  methods getIdentifier(), isFixed(), getUpperRange() and getLowerRange() to
	  retrieve the attributes supported by this Section.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Make use
	  of axes ranges specified in ChartSettings if an axis is fixed.

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

	* src/main/java/de/intevation/flys/exports/IdentifiableNumberAxis.java: New.
	  Subclasses JFreeChart's NumberAxis and offers a getId() method which
	  returns an identifiable key.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Implements
	  a createNumberAxis() method that should be used by all subclasses to
	  create new axes. This method returns an instance of IdentifiableNumberAxis
	  which is required for zooming.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Create new NumberAxis instances by using XYChartGenerator.createNumberAxis().

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Implemented the methods getChartTitle() and getChartSubtitle(). Both
	  methods try to get the required information from ChartSettings. If no
	  ChartSettings is set for this OutGenerator, these methods will call
	  getDefaultChartTitle() and getDefaultChartSubtitle().

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Renamed getChartTitle() and getChartSubtitle() to
	  getDefaultChartTitle() and getDefaultChartSubtitle(). In addition, the
	  methods addSubtitles() became more robust - these OutGenerators add
	  subtitles only if the subtitle is not empty.

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

	* src/main/java/de/intevation/flys/exports/OutGenerator.java: Added a
	  setSettings(Settings) method.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Call OutGenerator.setSettings() before calling doOut() for each Facet.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Implemented
	  setSettings() and added convinience methods to access chart specific
	  settings.

	* src/main/java/de/intevation/flys/exports/MapGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
	  src/main/java/de/intevation/flys/exports/ATExporter.java,
	  src/main/java/de/intevation/flys/exports/ReportGenerator.java: Implemented
	  setSettings().

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Make use
	  of the attributes specified in the Settings: the title, subtitle,
	  displayGrid and displayLegend settings are functional now.

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

	* src/main/java/de/intevation/flys/exports/ChartSettings.java,
	  src/main/java/de/intevation/flys/exports/LegendSection.java,
	  src/main/java/de/intevation/flys/exports/ChartSection.java: Use more
	  concrete classes than Settings and Section in these classes to avoid a lot
	  of castings.

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

	flys/issue242 (W-INFO: Fehlende Header in Datenexporten)

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added functions
	  getQs(), getWs(), getGauge(), getGaugename() and getRivername() that all
	  take a parameter FLYSArtifact.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Moved the
	  implementation of getGauge() to FLYSUtils. The getGauge() in this class
	  just calls and returns FLYSUtils.getGauge().

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Write a
	  header into a CSV export containing meta information about this export.

	* 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 strings used in the CSV
	  export as header.

2011-12-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  (getKm): Removed, not called anymore.

2011-12-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Include km of cross-section-master in diagrams subtitle (fetched
	  from 'blackboard'.

2011-12-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java:
	  Cosmetics, docs.

2011-12-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java
	  (getInitialFacetActivity): Only newest CrossSection is initially
				     active.

2011-12-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java
	  (isNewest): New, query whether a CrossSection is the newest for its
		      river, doc.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
	  convinience method to retrieve the value of an data object stored at
	  FLYSArtifact as Boolean value.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method that
	  returns the named value of a given double value. This method returns only
	  the named value, if the WQ mode is "Q at gauge" and if the value fits to a
	  named value. In addition to this method, there is a new method to retrieve
	  the selected WQ mode as 'WQ_MODE' enum.

	* src/main/java/de/intevation/flys/exports/AbstractExporter.java:
	  Removed prepareData() and its call. The data preparation had a bad side
	  effect: the modifications are "persisted" into cache, which has again bad
	  side effects.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Removed
	  prepareData(). The label creation for columns in the WST export will now
	  take place in addWSTColumn(). With help of the master Artifact (I forgot
	  this Artifact in my last commit) we are able to replace Q values with
	  their named main value.

2011-12-21	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
	  Cover 'locations' case for initial km of cross section artifacts.

2011-12-21	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
	  (initialize): Eat ld_from from master artifact.
	  (setup): Set cross_section.km to either masters km or the lowest
		   defined cross-section line, whatever is bigger.

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

	flys/issue252 (W-INFO: Wasserspiegellagenberechnung / Mitführung der Jährlichkeiten in der Diagramm-/Ergbnisausgabe)

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function
	  stripNamedMainValue(). The result of this function is a named main value's
	  base name without declaration of a year.

	* src/main/java/de/intevation/flys/exports/AbstractExporter.java: Added a
	  method pepareData() that is called in doOut() before the data supported by
	  the current Facet is added using addData().

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Override
	  the prepareData() method to reset the name of WQKms objects. The Qs in a
	  waterlevel export should be the Q value or the named main value if the
	  value fits to a named main value.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Survive cases where the first dataset has an area-renderer assigned.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/AreaArtifact.java:
	  Store additional parameter (whether or not to fill everything in
	  between two curves.)

	* src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java:
	  Deliver additional info from artifact.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Evaluate new parameter.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml: Add transparency setting to area theme style.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Helper to
	  access transparency setting in theme.

	* src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java:
	  Respect transparency setting.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java:
	  Subclass BlackboardDataFacet to provide data for area calculation.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Cast data to WKms instead of WQKms.

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

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Use a ';' as seperator between Qs and Ws.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java
	  (doOut, doArea): Added handling for areafacets. Code yet mostly
			   copied from CrossSectionGenerator.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
	  Refactoring, subclass BlackboardDataFacet, remove duplicate code.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Cosmetics.

	* doc/conf/artifacts/winfo.xml,
	  src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Renamed facet for consistency reasons.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Make Waterlevelfacet deliver data via blackbord.

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java:
	  Subclass BlackboardDataFacet.

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

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Create all formatted string labels for Ws and Qs in this class, because
	  this class is the only instance that knows that there are double values
	  to format.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Introduced new Facet that will deliver whatever getData returns via
	blackbord under key which is defined by convention. Attention, the
	data is not cached if handled this way.

	* src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java:
	  New facet, will be useful for easing implementation of facets that
	  can contribute to area-computations.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/VisibleAttribute.java:
	  Removed obsolete imports.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Removed obsolete imports.

	* src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java,
	  src/main/java/de/intevation/flys/artifacts/AreaArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java,
	  src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Removed obsolete imports.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	With StableXYDifferenceRenderer, create legend items in rectangular
	form, to discern "line" from "area" in legend.

	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java
	  (legendLine, legendShape): Renamed.
	  (getLegendItem): Create LegendItem with fill, use PositivePaint for
			   that.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Added further 'area' infrastructure.

	* src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java:
	  New, "area dataset".

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java
	  (doOut): Use helper to decide if facet is an 'area' facet.
	  (doArea): Construct StyledAreaSeriesCollection instead of two
		    dataseries.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  (AxisDataset.isArea): Distinguish area datasets with instanceof.
	  (AxisDataset.addArea): New. Replaces addAreaDataset.
	  (addAreaSeries): Simplified with new custom SeriesCollection.
	  (applyTheme): Register and style StableXYDifferenceRenderer for
			StyledAreaSeriesCollections.
	  Added various TODOs and debug output to stabilize development.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Added facets to compatibility
	  matrices.

	* doc/conf/themes.xml: Added Area theme defaults.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Lay ground for having areas in longitudinal section diagrams, too.
	This is done by different naming of the facets.

	* src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java:
	  Make the name dynamic.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added further facet types, helper.

	* src/main/java/de/intevation/flys/artifacts/AreaArtifact.java:
	  Store name for facets in data item, restrict access to some fields.

	* src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java:
	  Use AreaArtifacts data item to use name for facets.

2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Cosmetics.

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java,
	  src/main/java/de/intevation/flys/exports/StyledXYSeries.java:
	  Doc.

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
	  src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Whitespace.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Doc and
	  whitespace.

2011-12-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java
	  (parseBoolean): New, extracted, updated callers.
	  (parseFillColorField, parseShowBorder): New, for area styles.

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

	flys/issue202 (W-INFo: Wasserspiegellagenberechnung / Vorbelegung Strecke)

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Added a system property which is used to determine, if the DESCRIBE
	  document of an Artifact should include default values (values, that have
	  been inserted by the user some time ago) or not. The default case is,
	  that the DESCRIBE does NOT include default values. To enable default
	  values, set "flys.use.default.values" to "true".

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

	flys/issue419 (Themen-Name "Q(null)" bei W bei ungl. A.)

	* src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java:
	  Use correct variable to create Facet names.

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

	flys/issue380 (W-INFO / Überschwemmungskarte, falsches DGM)

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
	  convinience method that returns a parameter of FLYSArtifact as Integer.

	* src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java: Override
	  validate() to determine, if the DGM selected by the user is valid for the
	  current calculation range and river.

2011-12-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Roll-back accidentally committed changes.

2011-12-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java
	  (doOut): Hide 'invisible' (deleted) themes from Outgenerators.

2011-12-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Added area.name data item and access to areaartifact.

	* src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java:
	  Rephrased debug output, do survive case where only one curve is
	  given for area calculation (this is the "above" or "under" case).

	* src/main/java/de/intevation/flys/artifacts/AreaArtifact.java
	  (getAreaName): Access "area.name" data item.

	* src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java:
	  Respect area.name data of artifact when reproducing facets.

2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/conf.xml: Fix, accidentally added wrong factory in last
	                     commit.

2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/conf.xml: Register area artifact factory.

2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Added area artifacts to cross-section
	  compatibility matrix.

2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Add area dataseries when facet delivering one.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java
	  (doOut): Handle area facets.
	  (doArea): Register areas for area facets.

2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Add simple area registerig functions.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  (AxisDataset.addAreaDataset): New, add an area dataset.
	  (AxisDataset.isArea): New.
	  (addAreaSeries): New. Add Area Dataset.
	  (applyThemes): Pass info if we have an area, to set different
			 renderer.

2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/StaticState.java:
	  Added convenience function and easy sybclassing.

2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Register AREA ("area") facet type.

2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
	  Register blackboard key uuid+index and respond with data to it, as
	  assumed by the areaartifact and facet.

2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Added partial area-infrastructure.

	* src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java,
	  src/main/java/de/intevation/flys/artifacts/AreaArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java:
	  New artifact, facet and state for area rendering.

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Defined an
	  interface YAxisWalker that allows to walk over each Y axis definition in
	  subclasses. This walker can be retrieved using the new getYAxisWalker()
	  method. The AxisSections are built in this class now.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Implemented the YAxisWalker interface and the getYAxisWalker() method.
	  Removed the code to build AxisSections.

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Implemented getYAxisLabel(int pos) and getYAxisWalker().

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Implemented the getYAxisWalker() method.

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Some optimizations during out() operation - the CollectionAttribute is
	  parsed a single time now (*i guess*). This code really needs some
	  refactoring!

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Added an INFO message that displays the duration time for the out()
	  operation.

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

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Calls super.buildAxisSections().

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Implemented the method buildAxisSections(). The result list will contain
	  an AxisSection for the X axis.

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

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: Bugfix:
	  Add new Outputs to the current CollectionAttribute if no old one is
	  existing.

2011-12-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
	  Directly fetch key/value pairs when writing a collection attribute.

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

	* src/main/java/de/intevation/flys/exports/ChartSettings.java: Added new
	  functions that allow parsing a ChartSettings object from DOM Node.

	* src/main/java/de/intevation/flys/collections/AttributeParser.java: Parse
	  the Settings of each Output.

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

	* src/main/java/de/intevation/flys/collections/CollectionAttribute.java:
	  Added a method to set a new Settings object for a specific Output and a
	  method to clear the list of Facets of a specific Output.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: The
	  AttributeWriter no longer creates new CollectionAttributes - it only
	  modifies the old CollectionAttribute. At first, it clears the Facets of
	  all Outputs. Finally, the merged Facets are added to the Outputs.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Added the CollectionAttribute to the AttributeWriters constructor.

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

	* src/main/java/de/intevation/flys/exports/DoubleAttribute.java: New. An
	  Attribute that stores double values.

	* src/main/java/de/intevation/flys/exports/AxisSection.java: Added methods
	  to set values for 'fixation', 'font-size', 'lower' and 'upper'.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Set new attributes mentioned above for each axis' AxisSection.

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

	* src/main/java/de/intevation/flys/exports/AxisSection.java: Added methods
	  to set the axis label and id.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Improved
	  the ChartSettings that will now contain a set of AxisSections. The new
	  buildAxisSections() method in this class is not implemented and needs to
	  be implemented by subclasses.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Override buildAxisSections() of XYChartGenerator to create an AxisSection
	  for each axis that is able to be displayed in this sort of chart. In
	  addition, there is a new method getYAxisLabel(int) that returns the label
	  for a specific Y axis.

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

	* src/main/java/de/intevation/flys/exports/IntegerAttribute.java: New.
	  Concrete subclass of a DefaultAttribute for storing integer values.

	* src/main/java/de/intevation/flys/exports/LegendSection.java: New. A
	  concrete Section subclass to store legend specific attributes.

	* src/main/java/de/intevation/flys/exports/BooleanAttribute.java,
	  src/main/java/de/intevation/flys/exports/StringAttribute.java: Removed
	  needless import of org.w3c.dom.Attr.

	* src/main/java/de/intevation/flys/exports/ChartSettings.java: ChartSettings
	  is able to store a Section for legends now.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added
	  methods to retrieve the font size of legends and if the legend should be
	  visible or not. In addition, the ChartSettings returned by this instance
	  will now contain a LegendSection as well.

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Introduced
	  methods getChartSubtitle() and isGridVisible(). getChartSubtitle() returns
	  in this implementation null. Concrete subclasses should override this
	  mehtod if they require subtitles in charts. isGridVisible() determines if
	  the grid in the chart should be visible or not. This method return always
	  true in this implementation.
	  In addition, the Settings object returned by getSettings() will now have a
	  ChartSection set properly.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Override getChartSubtitle().

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Prepare the OutGenerator (process each of the Output's Facets) during the
	  describe() operation to be able to return an initial Settings object.

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

	* src/main/java/de/intevation/flys/exports/BooleanAttribute.java,
	  src/main/java/de/intevation/flys/exports/VisibleAttribute.java,
	  src/main/java/de/intevation/flys/exports/StringAttribute.java: Fixed wrong
	  usage of DOM operations.

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

	* src/main/java/de/intevation/flys/exports/BooleanAttribute.java,
	  src/main/java/de/intevation/flys/exports/VisibleAttribute.java,
	  src/main/java/de/intevation/flys/exports/StringAttribute.java: New.
	  Concrete subclasses of a DefaultAttribute.

	* src/main/java/de/intevation/flys/exports/ChartSettings.java,
	  src/main/java/de/intevation/flys/exports/AxisSection.java,
	  src/main/java/de/intevation/flys/exports/ChartSection.java:
	  Implementations for chart settings. WORK IN PROGRESS!

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Override
	  the getSettings() method. The implementation here returns a ChartSettings
	  instance.

	* src/main/java/de/intevation/flys/exports/EmptySettings.java: Modified the
	  node name of the settings ("art:settings" -> "settings").

2011-12-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
	  Cosmetics, doc.

2011-12-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Cosmetics.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
	  Remove needless imports.

2011-12-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix/Guard certain misconditions.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Do
	  not crash when given null-range.

	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java:
	  Do not crash when given malformed array.

2011-12-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Cosmetics.

	* src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java,
	  ChangeLog: Whitespace cosmetic.

	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
	  Annotation cosmetic.

	* src/main/java/de/intevation/flys/artifacts/ExternalWMSArtifact.java:
	  Convenience cosmetic.

	* src/main/java/de/intevation/flys/utils/DataUtil.java:
	  vim-magicosmetic.

2011-12-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Implement new WaterLineArtifact where needed so far.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Declare that we implement WaterLineArtifact.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  (getWaterLines): Implement to fulfil new WaterLineArtifact-
			   interface-impl. Also generate new Facet.

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
	  Do not depend on WINFOArtifacts, but on WaterLineArtifacts instead.

2011-12-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Added interface WaterLineArtifact to be implemented by artifacts
	that know how to create a water line "against" a cross section.

	* src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java:
	  New, straight-forward interface.

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

	* src/main/java/de/intevation/flys/exports/EmptySettings.java: An
	  implementation of the Settings interface defined in the artifact-database
	  module. This implementation accepts no Section objects at all and creates
	  an empty "settings" Node in its toXML() operation.

	* src/main/java/de/intevation/flys/exports/OutGenerator.java: Defined a new
	  method getSettings() that returns a Settings instance.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ReportGenerator.java,
	  src/main/java/de/intevation/flys/exports/MapGenerator.java,
	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
	  src/main/java/de/intevation/flys/exports/ATExporter.java,
	  src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
	  Implemented the getSettings() operation. All OutGenerators will currently
	  return an instance of EmptySettings.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Before the DESCRIBE document is created, we gonna evaluate each Output
	  defined in the Collection's attribute document, if it has a Settings
	  object set. If this is not the case, the relevant OutGenerator is called
	  to retrieve a new instance of Settings.

	* src/main/java/de/intevation/flys/collections/CollectionAttribute.java:
	  Append the Settings of Outputs to the Output nodes in the XML
	  representation.

2011-12-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Recommend cross-sections.

	* doc/conf/meta-data.xml: When having a cross-section out, recommend
	  respective artifacts.

2011-12-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Register factory for CrossSectionArtifacts.

	* doc/conf/conf.xml: Register CrossSectionArtifact-Factory.

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

	* src/main/java/de/intevation/flys/collections/CollectionAttribute.java:
	  New. This class will store the information provided in the Collection's
	  attribute (which is a DOM document).

	* src/main/java/de/intevation/flys/collections/CollectionDescriptionHelper.java:
	  Store an instance of CollectionAttribute and append its XML representation
	  to the DESCRIBE document.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: Removed
	  all DOM operations from this writer. Its new task is to create a new
	  CollectionAttribute object which represents a merged version of the old
	  CollectionAttribute and the information provided by the Collection's child
	  Artifacts.

	* src/main/java/de/intevation/flys/collections/AttributeParser.java: The
	  result of AttributeParser's parse() operation is a CollectionAttribute
	  object now. The methods getOuts() and getFacets() are as of now proxy
	  methods that call the relevant methods of CollectionAttribute.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Some structural changes in the process to build the attribute Document of
	  the Collection's DESCRIBE. We will no longer work with Document during
	  this process but with instances of CollectionAttribute.

2011-12-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Server-side of newer Cross-Section diagram construction architecture.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java
	  (searchCrossSectionKmLine, getCrossSectionSnapKm),
	  (getCrossSectionData): Removed, most functionality contained in
				 CrossSectionArtifact.
	  (getWaterLines): Now get CrossSectionLines to calculate water line.

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
	  Get a CrossSectionLine from blackboard.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Hard TODO, commented out function needed for subtitle to allow
	  compilation.

	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java:
	  Added Empty-Dataset- guard.

2011-12-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Cosmetics.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Cosmetics.

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

	* src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java,
	  src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
	  Removed superfluous imports.

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

	* src/main/java/de/intevation/flys/collections/CollectionDescriptionHelper.java:
	  New. This class helps generating the DESCRIBE document of a collection.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Moved some of the code to create the DESCRIBE document out to
	  CollectionDescriptionHelper.

2011-12-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Resolve todo about wrongly named cross sections.
	Open StaticState to allow that facets survive a compute.

	* src/main/java/de/intevation/flys/artifacts/states/StaticState.java
	  (computeAdvance, computeFeed, computeInit): Override to call
						      staticCompute.
	  (staticCompute): New. Do nothing but be able to be overridden.

	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java
	  (setup): Fetch facets name from db (resolves todo).
	  (getCurrentState): override staticstates staticcompute to let
			     facets survive a compute.

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

	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java,
	  src/main/java/de/intevation/flys/wsplgen/WSPLGENCallable.java: Renamed
	  JobExecutor to WSPLGENCallable (because it is a Callable now). In addition
	  to the call() method which starts the WSPLGEN process, this Callable
	  offers a cancelWSPLGEN() method to destroy a running WSPLGEN process.

	* src/main/java/de/intevation/flys/wsplgen/WSPLGENFuture.java: A FutureTask
	  that overrides cancel(boolean). Before this instance call
	  super.cancel(boolean), it executes WSPLGENCallable.cancelWSPLGEN() to kill
	  a running WSPLGEN process.

	* src/main/java/de/intevation/flys/wsplgen/Scheduler.java: The Scheduler is
	  no longer a Runnable. It makes now use of a ScheduledThreadPoolExecutor to
	  schedule the incoming WSPLGENJobs. The ScheduledThreadPoolExecutor has a
	  fixed number of worker threads that process the jobs. The number is 1 per
	  default; it can be modified using a System property "wsplgen.max.threads".

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: Added
	  a string constant SCHEDULER.

	* src/main/java/de/intevation/flys/wsplgen/SchedulerSetup.java: A
	  LifetimeListener that currently implements the systemUp() method to create
	  an instance of Scheduler. After its creation, the Scheduler is put into
	  the GlobalContext using FLYSContext.SCHEDULER as key.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Fetch the Scheduler from GlobalContext.

	* doc/conf/conf.xml: Registered SchedulerSetup as LifetimeListener.

2011-12-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java:
	  (describe): Add data items to StaticFLYSArtifacts describe-doc.

2011-12-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/StaticState.java:
	  (addDefaultChartOutput): Convenienve function to add a chart-output.

2011-12-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java:
	  Play nice with CrossSectionArtifact. Employ blackboard.

	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
	  Spawn a CrossSectionFacet, handle various data.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Do not produce CrossSectionFacets anymore, these now "belong" to
	  CrossSectionArtifacts.

2011-12-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/cache.xml: Added cross_sections cache.

2011-12-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java:
	  (getCrossSection, getCrossSectionUncached): New, access specific
	  CrossSection, employ caching.

2011-12-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
	  New artifact to handle cross-section access.

2011-12-09  Raimund Renkert <raimund.renkert@intevation.de>

	Issue 413.

	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java:
	  Apply point size from theme attribute linewidth.

2011-12-08	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java,
	  src/main/java/de/intevation/flys/exports/OutGenerator.java,
	  src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Cosmetics.

2011-12-08	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java:
	  Documentation added, let a value be its own neighbour (distance 0).

2011-12-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
	  Added "Bezugslinie" to list of calculation alternatives.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_de.properties: Added I18N.

2011-12-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Further flys/issue420 fix (No Discharge Curves for Mosel).

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  (includeYRange, mergeRanges): Moved NaN-guard to lowest level.
	  (combineXRanges): Also NaN guard the X Axis extent.

2011-12-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Partial fix for flys/issue420 (Berechnete Abflusskurve: Kein Diagramm für
	Mosel). Protect axis extent calculation from empty or invalid
	datasets.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  (includeRange, includeYRange): Renamed, updated callers.
	  (includeYRange): Protect from merging extent with NaNs.
	  (debugDatasets): Be more verbose on the datasets.
	  (zoom): Doc.

2011-12-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue423 (Diagramm: Hauptwerte bei Abflusskurve am Pegel
	werden an Y-Achse nicht angezeigt) - show not "raw" (vs interpolated)
	values at Gauge.

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java:
	  Add parameterization to let facet know whether to fetch data at
	  Gauges or at Artifacts position.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Let the MainValueFacets know whether to ask for interpolated
	  MainValues; (do not interpolate for Gauges Main Values).
	  (getMainValuesQ, getMainValuesW): Added parameter to control
					    interpolation.

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

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Modified
	  prefix constants for Mapserver layers and renamed constants (which have
	  been postfixes before).

	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: Adjusted
	  usage of Mapserver constants to the changes described above.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Bugfix: Evaluate the correct parameter whether to set the floodplain or
	  not. In addition, the scenario parameter used by WSPLGEN is now set
	  correctly.

>>>>>>> .r3356
2011-12-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Allow longitudinal_section.q facets in wdiff states output.

	* doc/conf/artifacts/winfo.xml: Added longitudinal_section.q facets
	  to w-diff states out compatibility- matrix.

2011-12-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Refactored Longitudinal*/WDiff-*Generator hierarchy and change axis
	ordering, resolved label-i18n TODO.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Merge, avoid duplicate code, fix axis ordering in w-diff diagram,
	  label in ls-diagramm.

2011-12-05  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 missing state titles.

2011-12-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Do not include zero on first axis.

2011-12-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  (buildArtifactNode): Include artifacts state data in description
	  document of collection.

2011-11-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ReportGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
	  src/main/java/de/intevation/flys/exports/ATExporter.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/OutGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java,
	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Removed superfluous imports.

2011-11-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Removed import to make it compileable again.

2011-11-30  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Introduce pre-rendering inter-facet communication phase ('blackboard
	pass').

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java
	  (doBlackboardPass): New. Before actually calling doOut, bundle
			      ArtifactAndFacets and let them register
			      themselfes as DataProvider in CallContext if they
			      want ("announce on blackboard").

2011-11-30  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java
	  (doOut): Adjusted signature.

2011-11-30  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Changed doOut signature to use ArtifactAndFacet, which will be
	side effect of upcoming "blackboard" feature.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java
	  (getRangesForDataset, getRangesForAxis): Renamed, removed TODO.

	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java
	  (createAxis): Update call to XYChartGenerator.getRangesForAxis,
	  cosmetics.

	* src/main/java/de/intevation/flys/exports/OutGenerator.java
	  (doOut): Changed Signature to accet ArifactAndFacet instead of
		   Artifact and Facet.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ReportGenerator.java,
	  src/main/java/de/intevation/flys/exports/MapGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
	  src/main/java/de/intevation/flys/exports/ATExporter.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java
	  (doOut): Adjusted to new signature.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  (adjustAxes): Removed, we do not need a (manual) second axis.

2011-11-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Fix compilation, use features of XYChartGenerator.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Set default behaviour such that 0 is not included in ranges.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Set behaviour of axis such that 0 is not (automagically) included.

2011-11-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java:
	  Fix wrong documentation.

2011-11-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix LongitudinalSections multi-axes plotting behavior.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Removed obsolete functions, use better working multi-axis
	  magic by XYChartGenerator.

2011-11-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Overhaul dataset/axis/renderer housekeeping in Mother of all
	ChartGenerators.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Refactored, keep axis/rendering relevant information in objects
	  of new class AxisDataset. Removed some obsolete code while adding
	  documentation.

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

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(relateWs):
	  Added the implementation of the 'Bezugslinienverfahren'. Should
	  be complete but needs testing!
	  TODO: Setup a Calculation and integrate it into WINFO.

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

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Refactored the code for the "berechnete Abflusskurve" to enable
	  the "Bezugslinienverfahren" to use the same code paths. It also
	  removes a good deal of already existing code duplication.

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

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(findQsForW):
	  Added method findQsForW(w, km) to retrieve the Qs that correspond
	  for the given w and km.

	  This is to be called when doing a "W auf freier Strecke" calculation
	  to find out the Qs belonging to the user given W.

	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Removed superfluous imports.

2011-11-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix bug when adding Q data in LongitudinalSectionGenerator.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Add data from Q -Facet as Q over Km points.

2011-11-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added handling of empty plots.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  (createAxes, removeEmptyRangeAxes): Survive empty datasets map, create
	  primary axis.
	  (recoverEmptyPlot): New.

2011-11-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Let first visible axis be always on the left.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  (createAxes): When creating axes, keep track of which is the first
			one. Set its location to "left".

2011-11-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Use multiple axis in relevant generators.

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  (createYAxis): Implemented.
	  Define and use YAXIS enum for axes.

2011-11-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix theming and legend items for plot with multiaxis feature.
	Decouple renderer index from dataset index.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  (applyThemes): Do not get renderer based on dataset/axis-index but
			 count.

2011-11-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	In XYChartGenerators allow more than two datasets.
	Assign axis to indices of datasets, do not show axis if corresponding
	dataset is set to be not visible.
	Do proper axis-setting in LongitudinalSectionGenerator only (other
	will follow). Based on a patch by Sascha Teichmann.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Keep relation between index and dataset, once its added. Compute
	  ranges per index. Allow subclasses to override createAxes to specify
	  internationalized labels etc.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java:
	  Add datasets to first index.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Implement createYAxis to create correct first, second and third
	  axis. Added enum to easy identification of axis. Stripped down
	  adjustAxis which was used to create second axis.
	  Add datasets at correct indices.

2011-11-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java,
	  src/main/java/de/intevation/flys/artifacts/datacage/templating/FunctionResolver.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Cosmetics, docs.

2011-11-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Cosmetics, docs.

2011-11-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableCacheKey.java:
	  Cosmetics, docs.

2011-11-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
	  Resolved TODO about caching certain WstValueTables.

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

	* src/main/java/de/intevation/flys/artifacts/ExternalWMSArtifact.java: New.
	  This Artifact is used to allow users adding external WMS layers to their
	  floodmaps. An ExternalWMSArtifact stores an URL of a WMS, the name and the
	  title of the WMS layer. The internal State extends WMSBackgroundState.

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

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added a
	  new type "floodmap.externalwms" which is used by the ExternalWMSArtifact.

	* doc/conf/artifacts/winfo.xml: Allowed the "floodmap.externalwms" facet for
	  floodmaps.

	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java:
	  Some refactoring to allow easier subclassing.

2011-11-22  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fixed flys/411.

	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java:
	  Use different queries to avoid costy joins.

2011-11-22  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java:
	  Use different queries to avoid costy joins. Patch by Sascha
	  Teichmann, minor typo-fix.

2011-11-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Added other.wkms.interpol facet
	  to compatibility matrix for computed discharge curves.

2011-11-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Resolve cosmetic todo, use importData-convenience method.

2011-11-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Handle STATIC_WKMS_INTERPOL and WQ/Points as Annotations.

2011-11-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
	  Give Facet different name when its a flood*, so that it can be
	  understood to be e.g. a flood-protection further down the processing
	  line.

2011-11-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Prevent ArrayIndexOutOfBounds, log method entry.

2011-11-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new Facet Type: Interpolated W/Km values.

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

	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java,
	  src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java,
	  src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Avoid
	  WMS layer names that begin with digits. This would lead to invalid
	  WMSGetFeatureInfo responses, where the name of a layer is the name of a
	  XML node.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Added and use *_wq macros for interpolated
	  w/q data (currently used in computed discharge curve only).

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Handle STATIC_WQ_ANNOTATION type facets, build and add annotations
	  for these.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
	  Set Facet type (name) based on static datas name (special case
	  everything starting with "height").

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Extended compatibility matrices.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new STATIC_WQ_ANNOTATIONS Facet Type.

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

	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
	  Added a method isQueryable() that determines if a layer is queryable via
	  WMS GetFeatureInfo request. This method returns false as default.

	* src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java:
	  Override isQueryable(). All WMSDBLayerFacets are queryable via WMS
	  GetFeatureInfo request.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
	  Added functionality to artifact to use single column wst
	  interpolators.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
	  Added methods to create WstValueTables (interpolators) for specific
	  columns of wsts.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml: Added Point Style for other.wq data.

2011-11-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Do not re-evaluate constant size() in for-loops.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
	  Get ld_locations not locations data item to determine km.
	  (getDataAsDouble): New helper function to get data item as double.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Recommend fixations for computed discharge
	  curve outs, minor refactoring of dc conf.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/conf.xml: Added wqinterpol factory to produce
	WQKmsInterpolArtifacts.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Use StyledSeriesBuilder to add WQ data from WQKms to Series.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Handle interpolated WQ data.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java:
	  Adjusted to similar implementations. Added TODO about merging with
	  these similar implementations.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Removed logging noise, find better suited rows for interpolation.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
	  Cache WstValueTables that were fetched by wst_id.

2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
	  (getWstName): Fix and use SQL statement.

2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WQFacet.java,
	  src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
	  Added new Facet and Artifact to access W over Q data.

2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  (importData): New function to copy data from one artifact to
			another.

2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java
	  (getTable): New methods to get WstValueTable for given wst_id.
	  Prepolate Arrays with NaNs.

2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
	  (getWKmsName): Fix definition.

2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
	  (getWKmsName): New function. Get name (description) of a WST.

2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new "other.wq"/STATIC_WQ Facet-Type, e.g. for fixations in
	  discharge curves.

2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Picky cosmetics.

	* src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java,
	  src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java,
	  src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java,
	  src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java:
	  Cosmetics, docs.

2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added translations for Mosel, Elbe and Saar.

	* 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 translations
	  for Mosel, Elbe, Saar.

2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added new interpolation mechanism to WstValueTable to interpolate
	given columns only.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java
	  (linearW): New, interpolate a given columns w's between given rows.
	  (interpolateWQColumnwise): New, interpolate between rows ws at a
				     given column and km.

2011-11-14  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Minor doc added.

2011-11-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java,
	  src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java,
	  src/main/java/de/intevation/flys/themes/ThemeFactory.java:
	  Removed dead ';' from empty bodies.

2011-11-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
	  s/reset/resetQuick/s in TDoubleArrayLists.

2011-11-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
	  Added system properties 'waterlevel' and 'km'. Useful to
	  init the UI with a given waterlevel and drawing the cross-sections
	  at the given km.

	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
	  Spliting by NaNs definition holes _should_ work now. Needs
	  some more testing.
	  TODOs:
	  - Use log4j instead of println for logging.
	  - Subclass XYDifferenceRenderer instead of replacing it totally.

2011-11-12	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
	  Draw water, too.

	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
	  First code to split datasets by NaNs. WIP.

2011-11-12	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
	  Draw ground with StableXYDifferenceRenderer.

	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
	  Removed XYDatasetToZeroMapper stuff. Not needed any longer
	  because we use rendereres on dataset basis now.

	* src/main/java/de/intevation/flys/jfree/XYDatasetToZeroMapper.java:
	  Removed.Not longer needed.

2011-11-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Include computed discharge curves in dc
	  conf.

2011-11-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Somewhat unify user-part of dc config.

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

	* doc/conf/themes.xml: Modified some floodmap styles and added a
	  backgroundcolor attribute to polygon themes.

	* src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java:
	  Added support for backgroundcolor.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Parse
	  backgroundcolor from theme document. If a value is given, the
	  backgroundcolor is set on the Mapserver style.

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

	* src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java:
	  Set correct Mapserver attribute name to adjust the width of a line.

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

	* doc/conf/themes.xml: Added 'textcolor' and 'textsize' attributes to the
	  existing 'Kms' theme.

	* doc/conf/mapserver/fontset.txt: Defined a 'DefaultFont' that is used as
	  default font for Mapserver labels.

	* doc/conf/mapserver/db_layer.vm: Add a Mapserver LABELITEM if a value is
	  provided by LayerInfo object.

	* src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: Added a
	  getLabelItem() method that returns null as default.

	* src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java: Override
	  getLabelItem() to return "km" which is the database field that contains
	  the kilometer information.

	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java,
	  src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java:
	  Added an attribute labelItem with appropriate getter/setter methods.

	* src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java:
	  Splitted up the internal class Clazz. Now, there are two new inner
	  classes Style and Label that fulfill the appropriate Mapfile sections of
	  Mapserver.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Also Read font
	  attributes and add new Clazz Label for the Mapserver layer.

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Set the
	  "labelItem" attribute on the LayerInfo object used to fill DB layer
	  templates.

2011-11-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Re-use macros to include more data to
	  datacage in more situations.

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

	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
	  Removed needless imports.

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

	* src/main/java/de/intevation/flys/artifacts/WMSFixpointsArtifact.java: New
	  WMSDBArtifact that creates facets for "fixpoints" relation.

	* doc/conf/artifacts/winfo.xml: Registered "floodmap.fixpoints" as valid
	  "floodmap" facet.

	* doc/conf/conf.xml: Registered the new WMSFixpointsArtifact.

	* doc/conf/themes.xml: Added a theme for "floodmap.fixpoints".

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  Facet type "floodmap.fixpoints".

	* doc/conf/meta-data.xml: Made "floodmap.fixpoints" available via datacage.

	* 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 titles for
	  "floodmap.fixpoints" facets.

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Refactored and (re)use macros.

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

	* src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java: New
	  WMSDBArtifact that creates facets for "buildings" relation.

	* doc/conf/artifacts/winfo.xml: Registered "floodmap.buildings" as valid
	  "floodmap" facet.

	* doc/conf/conf.xml: Registered the new WMSBuildingsArtifact.

	* doc/conf/themes.xml: Added a theme for "floodmap.buildings".

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  Facet type "floodmap.buildings".

	* doc/conf/meta-data.xml: Made "floodmap.buildings" available via datacage.

	* 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 titles for
	  "floodmap.buildings" facets.

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

	* src/main/java/de/intevation/flys/artifacts/WMSLineArtifact.java: New
	  WMSDBArtifact that creates facets for "lines" relation.

	* doc/conf/artifacts/winfo.xml: Registered "floodmap.lines" as valid
	  "floodmap" facet.

	* doc/conf/conf.xml: Registered the new WMSLineArtifact.

	* doc/conf/themes.xml: Added a theme for "floodmap.lines".

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  Facet type "floodmap.lines".

	* doc/conf/meta-data.xml: Made "floodmap.lines" available via datacage.

	* 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 titles for facets.

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Adjusted DC configuration to
	  also allow heightmarks and base data in discharge longitudinal
	  sections. Minor refac.

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Adjusted DC configuration to let old
	  calculations be available for discharge longitudinal sections.

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java:
	  Handle other WQKm and WKm Facets.

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java
	  (IS): New inner class with static method to allow queries whether
		a type belongs to a however-defined "group".

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/conf.xml: Reverted accidental commit.

	* doc/conf/meta-data.xml: Extracted annotations-macro, add recommendation
	  for discharge longitudinal sections.

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/conf.xml: Reverted accidental commit.

	* doc/conf/meta-data.xml: Extracted annotations-macro, add recommendation
	  for discharge longitudinal sections.

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Made discharge longitudinal section out compatible with annotations.

	* doc/conf/artifacts/winfo.xml: Added facets to compatibility list
	  for discharge longitudinal section outs.

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Extracted Annotations-Macro in dc conf, recommend Annotations for
	discharge longitudinal sections. (Note correction two commits later).

	* doc/conf/conf.xml: Extracted annotations-macro, add recommendation
	  for discharge longitudinal sections.

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Handle Annotations in DischargeLongitudinalSection diagrams.

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java:
	  Call doAnnotations for LONGITUDINAL_ANNOTATION facets.

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Resolve code duplicate.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java
	  (doAnnotationsOut): Removed duplicate code.
	  Theoretically handle WQKMS data.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Adjusted call to doAnnotationOut.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java
	  (doAnnotations): Doc from LongitudinalSectionGenerator.

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Include exception when logging issue with spline creation.

2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
	  When during XPath evaluation an exception is thrown, log the
	  expression that caused the trouble.

2011-11-10	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
	  Use separate XYDataset for each curve. This is needed because
	  "Raum/Flaeche" needs specialized renderers, which are not compatible
	  with the standard renderers.

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

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

	* src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java: New
	  Artifact that is used to create WMS layers for floodplains in maps.

	* doc/conf/conf.xml: Registered the new WMSFloodplainArtifact.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  a new type 'floodmap.floodplain'.

	* doc/conf/artifacts/winfo.xml: Registered the 'floodmap.floodplain' facet
	  for floodmaps.

	* doc/conf/themes.xml: Added a theme for 'floodmap.floodplain' facets.

	* doc/conf/meta-data.xml: Added configuration for 'floodplain'.

	* 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 facet titles for
	  'floodmap.floodplain' facets.

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

	* src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java: New
	  Artifact that is used to create WMS layers for catchments in maps.

	* doc/conf/conf.xml: Registered the new WMSCatchmentArtifact.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  a new type 'floodmap.catchment'.

	* doc/conf/artifacts/winfo.xml: Registered the 'floodmap.catchment' facet
	  for floodmaps.

	* doc/conf/themes.xml: Added a theme for 'floodmap.catchment' facets.

	* doc/conf/meta-data.xml: Added configuration for 'catchments'.

	* 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 facet titles for
	  'floodmap.catchment' facets.

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

	* src/main/java/de/intevation/flys/artifacts/WMSHwsArtifact.java: New
	  Artifact that is used to create WMS layers for flood protected works.

	* doc/conf/conf.xml: Registered the new WMSHwsArtifact.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  a new type 'floodmap.hws'.

	* doc/conf/artifacts/winfo.xml: Registered the 'floodmap.hws' facet for
	  floodmaps.

	* doc/conf/themes.xml: Added a theme for 'floodmap.hws' facets.

	* doc/conf/meta-data.xml: Added configuration for 'hws'.

	* 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 facet titles for
	  'floodmap.hws' facets.

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

	* doc/conf/mapserver/dbconnection.include: Removed. DB connections are
	  supported by LayerInfo objects now. So, we do not need to configure it any
	  more.

	* doc/conf/mapserver/db_layer.vm: The database connection is provided by
	  LayerInfo objects. The "INCLUDE dbconnection.include" has been replaced.

	* src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: The inner
	  State class got two new methods that provide information about db
	  connection string and connection type.

	* src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Both
	  classes support getter/setter for connection and connectionType.

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Fill
	  LayerInfo objects used to create DB layers with the connection and
	  connection type provided by WMSDBLayerFacet.

2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Allow height marks with points style in w-differences diagrams.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Handle HEIGHTMARKS_POINTS facets.

2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Made Q Duration curve initially inactive.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java
	  (getInitialFacetActivity): Return 0 for DURATION_Q facets. Minor
				     cosmetics.

2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Recommend mainvalues for Duration Curve Diagrams.

	* doc/conf/meta-data.xml: Recommend mainvalues for duration curve
	  diagrams. refactored into macro.

2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Handle MainValue Facets in Duration Curve Diagrams.

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Handle MainValues.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Adjusted to call doAnnotations.

2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Move do*Annotation* (like mainvalue) in XYChartGenerator.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java
	  (doAnnotations): New, moved from DischargeCurveGenerator.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java
	  (doMainValueAnnotations): Moved to superclass.

2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Removed duplicate code.

2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java
	  (): Minor cosmetics, added stability.
	  (getInitialFacetActivity): Let facets be inactive in duration curve
				     diagrams.

2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Allow other.wqkms facets in many
	  outputs, mainvalues in duration curves.

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

	 * doc/conf/mapserver/dbconnection.include: Adapted connection params for
	   using an oracle database.

	* src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java:
	  Added Oracle support for Mapserver's DATA attribute. Oracle doesn't allow
	  a "USING UNIQUE id" string in this attribute which is required by Postgis.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Modified the geometry type of "talaue.shp" from MultiPolygon to Polygon.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function
	  which returns true, if the backend uses an Oracle db instance. Otherwise,
	  it returns false.

2011-11-08  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix flys/issue406 (Themestyle-editor: themes for "other.wkms" and
	"other.wqkms" missing)

	* doc/conf/themes.xml: Fixed typos in WKms and WQKms theme names.

2011-11-08  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix flys/issue405 (Datacage: Recommendations get loaded twice).

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java
	  (setup): Do not try/catch exception.
	  (spawn_state): Generate just one "general" output.

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

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  Added a log.warn() which prints out an exception - previously it was
	  just skipped.

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

	* doc/conf/meta-data.xml: Removed orphaned datacage configuration which is
	  no longer loadable.

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

	* doc/conf/conf.xml: Added an "post-describe" hook which is necessary to
	  load recommendations for "floodmaps".

2011-11-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java
	  (loadRows, loadColumns, loadQRanges): Refactored in preparation to
	  ability to create WstValueTables for given wst_id and
	  column_pos (interpolation for static data).

2011-11-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java:
	  Minor, picky cosmetics.

	* src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java:
	  Removed junk.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Added documentation.

2011-11-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Be more specific in what to catch.

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

	* doc/conf/meta-data.xml: Added the CrossSectionTracks to the "floodmap"
	  datacage configuration.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added a
	  FacetType "floodmap.qps".

	* doc/conf/conf.xml: Defined an ArtifactFactory for the "wmspqsartifact"
	  string. The factory will create new instances of WMSQPSArtifact.

	* src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java: New. This
	  Artifact is used to create "floodmap.qps" facets. It has an internal fixed
	  State WMSQPSState.

	* doc/conf/artifacts/winfo.xml: Added the "floodmap.qps" layer to the
	  "floodmap" output.

	* doc/conf/themes.xml: Added a theme for "floodmap.qps" facets.

	* 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 strings for the QPS WMS
	  layer used in floodmaps.

2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Re-enable mainvalue-recommendations for computed discharge curves,
	as the NPE should be gone.

	* doc/conf/meta-data.xml: Uncomment mainvalue recommendations.

2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	When querying metadata/datacage, use only output-names of outputs that
	actually exists (in the sense of having facets).

	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java:
	  Get output names from artifact, not from state.

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

	* doc/conf/meta-data.xml: Removed DEMs from floodmap configuration,
	  because we are not able to draw DEMs into maps.

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

	* src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java:
	  Subclasses WMSDBArtifact now and defines an inner class RiverAxisState
	  which subclasses WMSDBState.

	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
	  Removed. The RiverAxisState is an inner class of RiverAxisArtifact now
	  which subclasses WMSDBState.

	* doc/conf/artifacts/riveraxis.xml: Removed, because the RiverAxisArtifact
	  has a fixed static State only.

	* doc/conf/conf.xml: Removed riveraxis.xml definition.

2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	For a Flys-Collection, add outputt to attributes-part of describe
	document only if they contain facets.  -> Prevent empty output nodes
	in flys-collections outputs.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
	  (writeFacets): Added return type to indicate whether any facet was
	  written. Decide whether to add an output-node depending on this
	  return value.

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

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Create
	  line and polygon layers for barriers only if they are really existing.

2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Disable mainvalue-recommendations for discharge curves as they trigger
	a yet-to-be understood NPE.

	* doc/conf/meta-data.xml: Comment mainvalue-recommendations for
	  discharge curves.

2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added new matching condition for theme-mappings: the name of
	the output.

	* src/main/java/de/intevation/flys/themes/ThemeMapping.java:
	  Added output field and function to match it against a given
	  output name.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  Createing ThemeMapping with output attribute from configuration.

	* src/main/java/de/intevation/flys/themes/ThemeFactory.java:
	  (getTheme(FLYSContext, string)): Removed, never called.
	  (getTheme): Added outputName argument, match it.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Pass outputs name until it can be matched against mapping.

2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml: Added default themes for other.w(q)kms.

2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  Cosmetics, reduce logging noise.

2011-11-03  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added access to static W_Q_Kms - data in much the same way then static
	WKms.

	* src/main/java/de/intevation/flys/artifacts/model/StaticWQKmsCacheKey.java:
	  Cache Key for static wqkms data.

	* src/main/java/de/intevation/flys/artifacts/model/WQKmsFacet.java:
	  Facet for WQKms.

	* src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java:
	  Factory to access WQKms.

	* src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java:
	  Artifact that provides 'static' WQKms.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added STATIC_WQKMS type.

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

	* src/main/java/de/intevation/flys/jfree/XYDatasetToZeroMapper.java:
	  New. Maps series to zero to be compatible with XYDifferenceRenderer.
	  It returns an iterator over XYDatasets to enable splitting by NaNs,
	  which still needs to be implemented.

	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
	  Uses a XYDatasetToZeroMapper now. Fixed package name.

2011-11-03  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added new matching options for theme-mappings to allow more
	overspecification of defaults (e.g. now name,description-pattern and
	master-artifacts attributes are matched). The first full match from
	the configuration file is done.
	New matching option in the masterAttr- field of a mapping are
	super-basic until new use-cases come up.
	Concrete new themes are point-styles of Ws when locations where chosen
	to calculate.

	* doc/conf/themes.xml: Added newly defined Themes.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Put master-artifact in flys-context.

	* src/main/java/de/intevation/flys/themes/ThemeMapping.java:
	  Accept masterAttr in constructor.
	  (masterAttrMatches): New, check masterAttr-condition against
	  artifact.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  When creating ThemeMappings, pass in masterAttr.

	* src/main/java/de/intevation/flys/themes/ThemeFactory.java:
	  (getTheme): Evaluate masterAttr-condition, always return first full
	  match.

2011-11-03  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java:
	  Added ARTIFACT key, documentation.

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

	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
	  New. At the moment a pure copy of JFreeChart's XYDifferenceRenderer.
	  Needs to be refactored to cope with its limitations:

	  - Series numbers need to be zero based. We have more than two series
	    in our diagrams.

	  - Cannot handle definition holes indicated by NaNs. We have these
	    cases e.g. more than one "Fliessbereich".

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

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
	  Reenabled dumping data to disk.

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

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Removed superfluous import.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
	  Use new pair in stack of results and connections because they are
	  always used in pairs. Maintaining two separate stacks is not
	  needed any longer.

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

	* src/main/java/de/intevation/flys/utils/Pair.java: New. A generic pair.

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
	  Rewritten to useful as test bed for "Raum/Flaeche" operations.

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

	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Added
	  setter methods for all parameters and removed the constructors. There is
	  just an empty constructor - all parameters need to be set via setter
	  methods.

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Modified the
	  creation of LayerInfo objects.

	* src/main/java/de/intevation/flys/artifacts/model/DBLayerInfo.java:
	  Removed, because the internal structure and constructors of LayerInfo have
	  changed, so that we gonna use LayerInfo for all layers now.

	* doc/conf/themes.xml: Modified the color definitions of
	  'floodmap.riveraxis' and 'floodmap.kms' themes and added a 'symbol' field
	  to 'floodmap.kms'.

	* doc/conf/mapserver/symbols.sym,
	  doc/conf/mapserver/fontset.txt: New. Required by Mapserver.

	* doc/conf/mapserver/db_layer.vm: Added an 'EXTENT' field that is filled
	  using LayerInfo.getExtent().

	* doc/conf/mapserver/mapfile.vm: Modified FONTSET directory and added a
	  SYMBOLSET.

	* src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: Added an
	  abstract method getGeometryType().

	* src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java: Override
	  getGeometryType() of WMSDBArtifact. This Artifact provides "POINT"s.

	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
	  Create new WMSDBLayerFacets with geometry type "LINE".

	* src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java:
	  Added a 'geometryType' attribute and getter/setter methods. This attribute
	  determines the type of geometry provided by this database wms layer. Types
	  could be "POLYGON", "POINT", "LINE" and so on.

	* src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java:
	  Added a 'symbol' attribute to the inner class Clazz.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added a function to
	  parse the symbol field of a theme. This symbol is used for
	  MapserverStyle.Clazz.

2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Apply point theme to heightmarks when imported in longitudinal
	section diagram.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new FacetType HEIGHTMARK_POINTS.

	* src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java:
	  Allow name to be given in constructor.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  If heightmarks were loaded, give respective name in WKmsFacet
	  generation.

	* doc/conf/themes.xml: Added virtual "Points" and concrete
	  heightmark_points - theme.

	* doc/conf/artifacts/winfo.xml: Made longitudinal_section output
	  compatible with heightmarks_points.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Render heightmarks like other wkms.

	* doc/conf/meta-data.xml: Changed heightmark ids such that it can be
	  identified in StaticWKmsFacet .

2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java:
	  Documentation added.

2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java:
	  Fix bug where (wrong) active-attribute was set, doc.

2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Refactoring to allow mainvalues in both discharge and computed
	discharge curve diagrams.

	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java
	(addPointsQW): New helper function.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Moved doMainValueQAnnotations, doMainValueWAnnotations from child-
	  to parent-class, extracetd doDischargeOut. Use
	  StyledSeriesBuilder.addPointsQW .

2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Removed logger/debugging noise.

2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	1) Pass outputs name to artifacts getInitialFacetActivity().
	2) Do not allow "gaps" in positions of facets in outputs in attributes
	   of collection (prevent e.g. positions 1,3,5; will become 1,2,3
	   instead).

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
	  Pass outputname to artifacts getInitialFacetActivity(), prevent
	  gaps in facets positions in outputs (1,3,10 become 1,2,3).

2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	1) Give Artifacts information about the out when they have to decide
	whether a given facet is initially in/active by adding parameter
	to getInitialFacetActivity(+outputName).
	2) Generate separate Set of MainValueFacets for discharge curves.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  (getInitialFacetActivity): Adjusted, new parameter outputName.
	  Added MAINVALUES_{Q,W} definition.

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java:
	  Accept name in constructor.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Create second pair of MainValuesFacets, give distinguishable names.

2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Added compatibility of (computed)discharge-curve diagrams with
	mainvalues.

	* doc/conf/artifacts/winfo.xml: Added mainvalues to compatibility list
	  of (computed) discharge curve outputs. These facet-definitionss can
	  differ in names because we can can have up to 4 mainvalue facets in
	  one state.

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

	* src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java: Determine
	  the extent of such WMS layer based on the list of RiverAxisKm objects
	  returned by the backend.

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

	* doc/conf/meta-data.xml: Added a datacage node that represents a
	  kilometer WMS layer.

	* doc/conf/conf.xml: Added a new Artifact WMSKmArtifact.

	* doc/conf/themes.xml: Added a style for 'floodmap.kms' facets.

	* doc/conf/artifacts/winfo.xml: Defined 'floodmap.kms' as valid floodmap
	  facet.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  a 'floodmap.kms' facet.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method to
	  determine the srid of a river based on its name.

	* src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: New. This
	  Artifact should act as base Artifact for WMS layers that represent data
	  from database datastore.

	* src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java: New. This
	  Artifact is used to generate facets for kilometer WMS layers.

	* 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 default descriptions
	  for 'floodmap.kms' facets.

2011-11-01	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix incompilability.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelInfoState.java:
	  Adjust to changed CrossSectionFacet.

2011-11-01	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Minor preparations to handle multiple cross sections in one
	diagram/artifact, faking certain aspects (e.g. ability to display
	multiple cross sections, but let these fetch the exactly same data
	for now).

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Parameterize but fake access to cross-section (always take first
	  one).
	  (getCrossSectionName,getCrossSectionNames): Renamed, access names
	  of all cross-sections, so that at least facets with different names
	  are created (they will still deliver the same data).

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java:
	  Allow indexing.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Index created cross-sections.

2011-11-01	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Show multiple water lines and facets in cross-section diagram if
	multiple waterlevel values had been entered.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java
	  (appendBackgroundActivity): Made static.
	  (getWaterLines): Add 'idx' argument to specify index of queried
			   waterlevel.

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
	  Add index.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Add one Facet for each of the computed waterlevels.

2011-10-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/geom/VectorUtils.java:
	  Added code to calculate intersection points.

	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java:
	  Added polygons for trivial cases. WIP

2011-10-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java:
	  Made it compilable again.

2011-10-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/geom/VectorUtils.java:
	  Made X() and Y() access macros public.

	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java:
	  More code. WIP.

2011-10-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java:
	  Handle start points when building polygons. Work in progress.

2011-10-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/geom/VectorUtils.java:
	  New. Vector operations on Point2D.

	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java:
	  Moved vector operations to VectorUtils.

2011-10-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
	  Do not call size() in for loop again and again.

2011-10-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java:
	  Interim check in. Work in progress.

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

	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java: New.
	  Polygon class to help creating "Raum/Flaeche" renderers with gaps in
	  their definitions. WORK IN PROGRESS!

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

	* doc/conf/themes.xml: Added a default theme for the riveraxis used in the
	  floodmap.

	* src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java:
	  New. This class is used by ThemeUtil to create a style which is
	  compatible for Mapserver-

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added a method to
	  retrieve a Mapserver compatible style (as string) based on a given
	  Document (that comes from CollectionItem's attribute).

	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java:
	  Implemented the setStyle() and getStyle() methods.

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Added a
	  new parameter 'style' to createDatabaseLayer(). This parameter is set on
	  LayerInfo.

	* src/main/java/de/intevation/flys/exports/MapGenerator.java: Create
	  Mapserver compatible styles and call createDatabaseLayer() with this
	  style.

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

	* doc/conf/artifacts/winfo.xml: Defined "floodmap.riveraxis" and
	  "floodmap.wmsbackground" as compatible layers for the floodmap output.

	* doc/conf/mapserver/db_layer.vm: New. This layer template is used for
	  Mapserver layers with database datastore.

	* doc/conf/mapserver/dbconnection.include: New. The database configuration
	  used in the db_layer template.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method
	  getUserWMSUrl() that returns the URL to the user specific WMS server.
	  This method requires a UUID of an Artifact to identify the owner of the
	  Artifact.

	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: Use
	  FLYSUtils.getUserWMSUrl() to create the URL to the user WMS for
	  WMSLayerFacets creation.

	* src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java:
	  New. Subclasses WMSLayerFacet to save data and filter parameters used
	  for database storage in Mapfiles.

	* src/main/java/de/intevation/flys/artifacts/model/DBLayerInfo.java: New.
	  Subclasses LayerInfo to save database relevant parameters.

	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
	  Creates new WMSDBLayerFacets, so that the riveraxis layer data is
	  fetched from database.

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Added a
	  public method that allows creating layers (type LINE) based on
	  WMSDBLayerFacets.

	* src/main/java/de/intevation/flys/exports/MapGenerator.java: Enabled
	  support for Facets other than "floodmap.wsplgen" and "floodmap.barriers".
	  Those other Facets are supposed to be WMSDBLayerFacets.

2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Refactored, added StyledSeriesBuilder to unify adding points to
	XYSeries.

	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java:
	  New class to help with adding points to XYSeries.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Use StyledSeriesBuilder to add points to series.

2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Added DC-conf, such that static data can be loaded from w-difference
	diagrams datacage.

	* doc/conf/meta-data.xml: Minor "refactoring" (definition of two
	  macros, allow certain static data to be loaded via datacage to
	  w-difference diagrams, too.

2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Load and display annotations in w-differences, minor polishing.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Use FacetType 'instead' of string. Allow Annotations in
	  WDifferences- diagram.

	* doc/conf/meta-data.xml: Recommend annotations in w-differences case.

2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
	  Survive case where a given output doesnt exist in compatibility
	  matrix.

2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/StaticState.java:
	  Added simpler constructor.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Adjusted construction of StaticStates.

2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Allow Annotations in longitudinal and
	  w-differences diagrams.

2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Use artifacts configuration (e.g. winfo.xml) to define which facets
	can be used in which output. Hide no-matches.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java,
	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Added use of "compatibility matrix". Only include facets in in
	  collections description document that are marked compatible in the
	  masterartifacts configuration (e.g. winfo.xml).

2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java
	  (mergeAttributes, getMasterArtifact): Extraced, updated caller.
	  Cosmetics to reduce indentation one step.

2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java
	  (getStateHistoryIds): New, return list of current and all previous
	  state ids.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Trigger the re-creation of FLYS mapfile if endOfLife() of this state is
	  called.

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

	* doc/conf/mapserver/mapfile.vm: The "layers" injected by VelocityEngine is
	  now used to include layers. A single string in this list represents the
	  path to a file which contains a LAYER section for Mapserver' Mapfile.

	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Removed the
	  update() call of MapfileGenerator. Mapfiles are generated by MapGenerator
	  only which requires a FLYSArtifactCollection.doOut()!

	* src/main/java/de/intevation/flys/exports/MapGenerator.java: Call update()
	  of MapfileGenerator to trigger the re-creation of mapfile(s).

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Collect all
	  LAYER snippets from filesystem and inject the filepath for each snippet
	  into the Mapfile template.

2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java,
	  src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java,
	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Cosmetics, doc.

2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Let OutputParser and AttributeParser collect all facets on the way.

	* src/main/java/de/intevation/flys/collections/OutputParser.java,
	  src/main/java/de/intevation/flys/collections/AttributeParser.java:
	  Collect all facets while iterating over Outputs and Attributes,
	  documentation added.

2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Extracted getFlysContext from FLYSArtifacts into FLYSUtils.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java
	  (getFlysContext): Added, extracted from FLYSArtifact.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  (getFlysContext): Moved to FLYSUtils, updated callers.

	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Update callers to getFlysContext.

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

	* src/main/java/de/intevation/flys/exports/MapGenerator.java: Bugfix:
	  Catch IOException - flys-artifacts compiles again.

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

	* doc/conf/artifacts/winfo.xml: Defined "floodmap.barriers" as valid facet
	  for floodmaps.

	* doc/conf/mapserver/shapefile_layer.vm: New. Currently a copy of
	  layer.vm. This template will evolve to a special mapserver layer
	  template with a shapefile data source.

	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: Fixed broken
	  facet name of barriers.

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Added
	  public methods for creating wsplgen and barriers layer files for
	  mapserver.

	* src/main/java/de/intevation/flys/exports/MapGenerator.java: Use
	  MapfileGenerator to create new layer files for wsplgen and barriers.

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

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Added new
	  method gerRiverBoundary() which returns an Envelope object (which
	  represents the bounding box of a Geometry) of a riveraxis specified by its
	  rivername.

	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java: Use
	  Geometry.getRiverBoundary() to determine the max extent of a river.

	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java,
	  src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java: Use
	  JTS Envelope to save the bounding boxes of WMS layers.

	* src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java:
	  Adapted the code to apply the changes in GeometryUtils (use Envelope to
	  determine the max extent of the river axis).

	* src/main/java/de/intevation/flys/exports/MapGenerator.java: New (work in
	  progress). This Generator will currently return a map configuration in XML
	  which consists of parameters required by OpenLayers to create a map.

	* doc/conf/conf.xml: Registered the new MapGenerator.

2011-10-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Do not recommend historical data to load
	  when having computational discharge curves.

2011-10-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Reduce noise, given "error" message was more of "debug" nature.

2011-10-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Restore mapping of state id to facets (essentially revert, revision
	3083 and 3088).

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  (getInitialFacetActivity): Be more explicit on which facets to
	  introduce inactivated.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Minor refactoring, declare a string final static.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Restore association from state id to facets.

2011-10-26	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java,
	  src/main/java/de/intevation/flys/collections/OutputParser.java:
	  Cosmetics, documentation.

2011-10-26	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Prepare rendering of "other/static wkms" (functional) and
	  w-differences (not yet fully functional).

2011-10-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Cosmetics.

2011-10-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java:
	  Do not store facets in a map from stateId to list of facets, but in
	  a pure list instead.

2011-10-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/artifacts/winfo.xml: Adjusted to newer semantics,
	  minor cleanups.

2011-10-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Resolve association of facets to states in artifacts. This eases
	merging of outputs and facets and inhibition of unwanted outputs
	substiantially (at the price of slightly more expensive merging).
	Also, the semantics of artifacts configuration files (e.g. winfo.xml)
	is changed (facet elements within an output elements are used for
	merging).

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Do not store facets in a map from stateId to list of facets, but in
	  a pure list instead.

2011-10-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Added dc configuration for some data
	  that can be loaded from longitudinal section diagrams.

2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Cosmetics, docs.

2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Let Qs in Longitudinal Diagram be inactive, initally.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  (getInitialFacetActivity): Do not let Facets ending with a 'q'
	  enter in active state.

2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Fix broken datacage config.

2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Configured to include correct id to
	  clone artifact that produces w-diff.

2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Revert correct behaviour of Annotations (the small axis tick shall
	  always be drawn). Minor refactoring.

2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Added configuration to include differences
	  in datacage when longitudinal sections are shown (yet not
	  functional).

2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml: Cosmetics.

2011-10-24  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* doc/conf/themes.xml: Added theme for w_differences facets.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java
	  (createSecondAxisRange): Survive parameter-nullness for now.
	  Added documentation.

2011-10-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/themes/ThemeAccess.java:
	  New. Caching wrapper around an XML document theme. It uses ThemeUtil
	  to access the values and stores them in instance variable.
	  Background: ThemeUtil use XPath a lot which is expensive.

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Use ThemeAccess to style the annotations.

	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java:
	  Removed some XPath strings. They are in ThemeUtil.

2011-10-21  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
	  Added methods to parse further attributes.

	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java:
	  Apply the theme attributes and use ThemeUtils to get the attribute values.

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Removed the spamy debug output.

2011-10-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	To obtain the size of a diagram it is rendered twice. The
	second time the generated image is omitted so the concrete
	rendered image is not needed. To save CPU cycles in this pass
	the image is rendered to to /dev/null Graphics2D object.

	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
	  Added boolean system property "info.rendering.nop.graphics" (default: false).
	  With this property set the info rendering is done via a new
	  NOPGraphics2D opbject which does not render the image.

	* src/main/java/de/intevation/flys/java2d/NOPGraphics2D.java:
	  New. Implements java.awt.Graphics2D trivial empty methods.
	  This prevents rendering.

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Commented out spamy debug output

2011-10-21  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Draw the text background and use orientation attribute.

2011-10-21  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/themes.xml:
	  Renamed 'textbackground' to 'backgroundcolor' to have 'color' in the
	  attribute name.

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
	  Process text attributes correctly.

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

	* src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java:
	  New. Service to lookup the Nth nearest neighbors for a set of given
	  cross section ids and kms.

	* doc/conf/conf.xml: Registered service.

	* doc/conf/cache.xml: Cache config.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
	  Removed superfluous imports.

2011-10-20  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
	  Added methods to extract further attributes from theme.

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

	* doc/conf/themes.xml: Added main value themes for longitudinal section
	  charts.

	* src/main/java/de/intevation/flys/themes/ThemeMapping.java: New. This
	  class stores the name of a facet, the related theme and a pattern
	  string.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  Read the pattern string and store a list of ThemeMapping objects in the
	  FLYSContext.

	* src/main/java/de/intevation/flys/themes/ThemeFactory.java: Modified
	  getTheme() which now takes the FLYSContext, the name of a facet and an
	  optional pattern string. Now, we can have specialized Themes for each
	  chart type. E.g. the facet "longitudinal_section.w" maps the default
	  Theme for W lines in longitudinal section charts. If the optional
	  pattern string matches the pattern ".*(HQ1000)(\D.*)*", the ThemeFactory
	  will return the Theme "LongitudinalSectionW_HQ1000".

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Use the description of a facet as pattern string to get the relevant
	  Theme from ThemeFactory.

2011-10-20  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/themes.xml:
	  Added new theme attributes.

2011-10-19  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix WDifference plots where masterartifact has no range set.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  (addSubtitles): Overridden, the master artifact has no
	  range.

2011-10-19  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix masterartifact in collections in cases where the original
	masterartifacts facets do not come first in certain list. Query
	'backend'/db instead.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Set 'real' master artifact, defined to be oldest belonging to this
	  collection.

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

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java,
	  src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
	  Modified the method signature of createStaticData() which now also
	  requires a FLYSArtifact.

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Override createStaticData() to create titles for Qs manually - we want
	  to display the named main values if existing for the selected Qs.

2011-10-19  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/themes.xml:
	  ComputedDischargeCurveW and ComputedDischargeCurveQ inherit attributes from
	  theme 'Text'.

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

	Fix for flys/issue316

	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java: Added
	  constructor to not sort the data.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Use the not sorting constructor of StyledXYSeries.

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

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  moved the code to create WSP W and Q facet names to FLYSUtils.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: New functions for
	  creating WSP W and Q facet names and for querying a named main value
	  based on a given gauge and value. The names of W and Q facets will now
	  depend on the selected Q and Q mode: if the mode is "q at gauge" and a
	  named value is found for the given value, the facet's name contains the
	  named value instead of the value itself.

2011-10-19  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix datacage configuration to let client load ZUS and flood
	protections.

	* doc/conf/meta-data.xml: Use 'ids' instead of 'id' to help client.

2011-10-19  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
	  Added methods to parse text attributes from theme document.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
	  src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Apply a theme to axis annotations.

2011-10-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Create (data) Label from data string (client will be adjusted to send
	the name).

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
	  Create label from input data string, documentation added, junk
	  removed.

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java(zoom):
	  Do not crash if no axis is given.

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

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added
	  getFormat() which extracts the format string from XML request document.

	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java: Adapted
	  method signatures of exportImage(), exportSVG() and exportPDF(). All
	  methods now take a CallContext object which stores extra chart export
	  parameters.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Enabled PDF and SVG chart exports based on the "format" string given in
	  the XML request document.

2011-10-18  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Simplify rendereing W(Q)Kms in WDifferencesCurveGenerator.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  (doWOut, doWOut): Simplified.

2011-10-18  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Render zus and flood-protections in WDifferences-diagrams.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Added basic respect of "other.wkms"- facets.


2011-10-18  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Adjusted Datacage-Configuration to fetch "extra longitudinal...."
	(.zus) - waterlevels in certain case (in system-part).

	* doc/conf/meta-data.xml: Adjusted to present extra-kms with
	  staticwkms factory in certain case.

2011-10-17  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/themes.xml:
	  Added new virtual theme for text with the attributes 'font', 'textcolor'
	  and 'textsize'.

2011-10-18  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Give StaticWKmsArtifacts proper names, and pre-deselect them.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  (getInitialFacetActivity): Overridden to let facets enter plot
	  inactively.
	  (setup): Give Facets the name of the Wst.

	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
	  Refactored to expose getWKmsName separately.

2011-10-18  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Adjusted Datacage-Configuration to fetch flood-protections when
	waterlevels are requested (in system-part).

	* doc/conf/meta-data.xml: Adjusted to present flood-protections with
	  staticwkms factory in certain case.

2011-10-18  Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Register staticwkms factory.

	* doc/conf/conf.xml: Register staticwkms factory to spawn StaticWKms-
	  Artifacts.

2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fetch name of static WKms.

	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
	  Removed dependence on "kind", but fetch name for created WKms.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  Remove dependence on Kind.

2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Store parameterization in data, not in Artifact.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  Resolve col_pos and wst_id field, use data instead.

2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Add convenience-method to add defaultdata (string).

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  (addStringData): Add Default (String) Data .

2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Add a new Artifact and Facet (StaticWKmsArtifact, WKmsFacet) to
	access WKms obtainable with the WKmsFactory.

	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
	  New, artifact with single state to get WKms from WKmsFactory.

	* src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java:
	  New Facet to display W over km.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new type name.

2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Add WKMsFactory to access 'static' wst-data.

	* src/main/java/de/intevation/flys/artifacts/model/StaticWKmsCacheKey.java:
	  Cache Key for the static WKms data.

	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
	  New, creates WKms from wst-id and column. Does not yet fetch the
	  name.

	* doc/conf/cache.xml: Added cache configuration for static wkms data.

2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Cosmetics, docs.

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java:
	  Cosmetics, docs.

2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java:
	  Added constructor that takes name, docs.

2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix issue that Annotations do not come with theme/style.

	* doc/conf/themes.xml: Added "Annotations" default style.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Set style of annotations, minor cosmetics.

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Made inner class ThemeList static.
	  s/new Integer(small)/Integer.valueOf(small)/

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  The inner class ThemeList makes now use of ManagedDomFacet to read the
	  attributes of Facets saved in the Collection's attribute.

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

	flys/issue314: Variables in datacage are now case insensitive.
	(H2 returns meta data variables uppercase)

	* doc/conf/meta-data.xml:
	  Made a statement more precise. Added some debug output.

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java:
	  Use uppercase variable names.

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java,
	  src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java,
	  src/main/java/de/intevation/flys/artifacts/datacage/templating/FunctionResolver.java,
	  src/main/java/de/intevation/flys/artifacts/datacage/templating/ResultData.java:
	  Variables are now treated as uppercase.

	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
	  Input variables are now treated uppercase.

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

	* src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java:
	  Prepared Facets to support a "visible" attribute.

	* src/main/java/de/intevation/flys/collections/OutputParser.java: Adapted
	  the constructor call of ManagedFacetAdapter.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  The inner class ThemeList now supports the "visible" attribute of
	  ManagedFacets.

2011-10-17  Raimund Renkert <raimund.renkert@intevation.de>

	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java:
	  Added method to apply line type.

	* doc/conf/themes.xml:
	  Changed initial default value for line type.

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

	flys/issue226 (W-INFO: Dauerlinienberechung /Abbbildung x-Achse)

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Set the upper bound of these charts to 364.

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

	* src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java:
	  Added a function that returns a Gauge based on its name.

	* src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java:
	  Create proper descriptions for facets.

	* src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: Added a
	  setter for labels.

	* src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Use the string returned by Facet.getDescription() as series names. The
	  ThemePanel and the Legend will always display the same titles for curves
	  now.


2011-10-17	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
	  (parseLineWidth): New. Get line width from Document.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  When adding annotations, parse line width from theme, set it.

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  When painting, set Paint and stroke early enough.

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

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Put the
	  config directory into the Velocity context. It is available as
	  '$CONFIGDIR' in templates.

	* doc/conf/mapserver/mapfile.vm: Set the debug file to
	  "$CONFIGDIR/flys-user-wms.log" and added a LEGEND section.

	* doc/conf/mapserver/wsplgen_class.vm: Adapted the class names. Those
	  names are displayed in the image served by GetLegendGraphic.

2011-10-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Add possibility of programmatic configuration of initial "activity"
	state (active or inactive) of (Managed)Facets by introducing
	FLYSArtifact.getInitialFacetActivity. This method shall be overriden
	by subclasses where Facets are wanted to come to live inactive.
	Artifacts will be asked only once how the MangedFacet should come to live,
	namely when AttributeWriter finds a genuinely new Facet.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java
	  (getInitialFacetActivity):
	  New function to let Artifact decide whether a ManagedFacet shall
	  initially be set to active or inactive.

	 * src/main/java/de/intevation/flys/collections/AttributeWriter.java:
	   Accept database in constructor. For genuinely new Facets, spawn its
	   mother artifact and ask whether the (Managed)Facet shall be active
	   or inactive (initially).

	 * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java
	   (buildOutAttributes): Pass database to AttributeWrite (which needs it
	   to spawn artifacts), rename items parameter to reflect content.

2011-10-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Cosmetics, removed obsolete imports.

	* src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Removed obsolete imports.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Added a further attribute "mark.selected" to the barriers feature type.
	  This attribute is used in the client, where we are not able to remove it
	  properly. Reading the GeoJSON string without this attribute is no longer
	  possible... strange!

2011-10-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Added i18n for label of wdiff "pair select" states data.

	* 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 i18n for
	  state.winfo.waterlevel_pair_select .

2011-10-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Addressed "Wrong labels" [6] part of flys/issue371 (W-INFO / Differenzen:
	Anmerkungen zur Umsetzung) .

	* src/main/java/de/intevation/flys/exports/WDifferencesExporter.java:
	  Adjusted variable names to avoid conflict in subclasses, adjusted
	  default value for i18n string.

2011-10-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Cosmetics, docs.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Cosmetics: Space after full stop in commments, slightly improved
	  documentation, added one debug message.

2011-10-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix remainder of flys/issue304 (Erweiterte Funktionen W-Differenzen) .

	* doc/conf/artifacts/winfo.xml: Removed obsolete data of
	  WDifferencesState.

	* src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java:
	  Re-enable facet-filtering, but adjust filters before that happens
	  (former longitudinal_section output is now w_differences output).

2011-10-11	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Added wdiff-chart translations.

	* 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 i18n for wdiff.

2011-10-11	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Expose translateable Strings as constants.

2011-10-11	Felix Wolfsteller	<felix.wolfsteller@intevation.de>

	Fix most labels in w-differences charts.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Remove most static final i18n-variables in favor of direct String
	  usage or usage of methods. By this, allow easier adoption of labels
	  in subclasses.

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

	flys/issue383 (Zweite Y-Achse wird beim Zoomen/Verschieben nicht angepasst.)

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Call adjustAxes() before applying zoom settings with autoZoom(). We need
	  to add new y-axes first before we adjust their ranges.

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  s/new Integer(small)/Integer.valueOf(small)/

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

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Do not fire change events for each and every data point added.

2011-10-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix WDifferences with more than one Pair (crashed due to incorrect index for
	facets.)

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
	  Fix wrong index for difference facets (allows for more than one
	  difference facet per artifact without crashes).

2011-10-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Use slightly modified doWOut-implementation from
	  LongitudinalSectionGenerator (here need to add Ws to different axis).

2011-10-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
	  Fix import/reference.

2011-10-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Let WaterlevelPairSelectState include diffids-data (if any) to enable
	future work on repopulation of Grid in GUI when jumping back
	(reparameterization).

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
	  (createItems): Override to include old data.

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

	flys/issue150 (Diagramm: Anzeige von W bergauf)
	flys/issue345 (W-INFO / Wasserspiegellagenberechnung, Diagrammausgabe)

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Corrected the determination to invert the x axis, so that waterlines
	  will start with their highest value at the left and end with their
	  lowest values at the right.

2011-10-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java:
	  Cosmetics, added an (@Override) annotation.

	* src/main/java/de/intevation/flys/artifacts/model/CalculationResult.java,
	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Cosmetics, added documentation.

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Cosmetics, whitespace after full stops in comments, added
	  (@Override) annotation.

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

	flys/issue220 (Diagramm: Achsenbeschriftungen an verschiedenen Achsen müssen gleich aussehen)

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Adjusted the label font of the 2nd y-axis - now, both axes labels look
	  equal.

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

	flys/issue189 (WINFO/Dauerlinie: Sortierung der Berechnungsausgabe nach Dauerzahlen aufsteigend)

	* src/main/java/de/intevation/flys/artifacts/model/WQDay.java: Added a
	  method that determines if the items (days) in this object are increasing
	  or not.

	* src/main/java/de/intevation/flys/exports/DurationCurveExporter.java:
	  Changed the order of the CSV export - the highest day is at the top of
	  the export; the lowest day is at the bottom.

2011-10-07	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Worked on flys/issue150 (Diagramm: Anzeige von W bergauf).
	Still does not work in all cases.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java (generateChart()):
	  Reordered calls to ensure that the inversion of the x axis is
	  not eliminated by other chart generation steps as a side effect.

	 * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	   Assuming that JFreeChart is inverting axis automatically if the
	   KMs are reversed ordered only do invert only in some situations.

	   Do not invert axis for Q (@Ingo: This is wrong! We must do this
	   if we are only displaying the Qs and the Ws are deactived).

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Take care on empty ranges while preparing ranges for single points.

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

	flys/issue114 (W-INFO: Wasserspiegellagenberechnung / Ort (Spezialfall: Generierung eines Diagramms bei punkthafter Berechnung))

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Expand
	  ranges for x and y axes if there is just a single point in a series -
	  JFreeChart requires a range where lower <> upper.

2011-10-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java,
	  src/main/java/de/intevation/flys/artifacts/states/DistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/RangeState.java,
	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Add whitespace after full stop in comments, minor doc improvements.

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

	flys/issue353 (W-INFO / Wasserspiegellagenberechnung, Diagramm)

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Adapted the process of collecting outs for Artifacts/Facets. We will now
	  call OutGenerator.doOut() for each Artifact and Facet - never mind if
	  the facet is activated (visible) or not. The OutGenerator should decide
	  on its own whtat to do with facets which are "marked" as _not_ visible.

	* src/main/java/de/intevation/flys/exports/OutGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/ReportGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
	  src/main/java/de/intevation/flys/exports/ATExporter.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
	  Adapted the signature of OutGenerator.doOut(). There will be a new
	  boolean parameter "visible" that determines if the facet specified in
	  this method is visible for this output or not.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Now,
	  that we walk over every Artifact/Facet, we are able to collect min/max
	  data for all axes. We store these information and use them to set the
	  ranges of x and y axes. The result of this: a chart can have proper axes
	  set without any data in it.

	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: Use
	  min/max ranges stored while calling doOut() for each Artifact/Facet
	  instead of fetching those information from chart's Datasets (which could
	  be null).

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

	* src/main/java/de/intevation/flys/utils/Formatter.java: Changed the max
	  number of digits for AT exports from 0 to 2.

2011-10-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/ATWriter.java: Get rid
	  of buggy first line code.

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

	fixed flys/issue201

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Replace >= with > in km index lookup because last km was not found.

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

	fixed flys/issue177

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Revert rev2245. Code works fine now! :-)

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

	* src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: Stores a
	  list of XYTextAnnotations instead of FLYS specific Annotations. This
	  makes this class suitable for other annotation types as well.

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java:
	  Both facets' getData() will now return an instance of FLYSAnnotation.

	* src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java:
	  Create XYTextAnnotations used to instantiate an object of
	  FLYSAnnotation.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Removed the code to add annotations to the plot. This task is general
	  enough to move this code to parent class.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Instances of this class are now able to store - besides first and second
	  axes datasets - a list of annotations. This annotations are added to the
	  plot after the datasets have been added. To support LegendItems for
	  those annotions, it was necessary to create a the LegendItemCollection
	  by ourself. This work is done while applying the themes for each series
	  in the chart.

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

	Removed code duplication of guessWaterIncreasing()

	* src/main/java/de/intevation/flys/artifacts/model/WKms.java(allKms, allWs):
	  Added methods to fetch all kms and all ws.

	* src/main/java/de/intevation/flys/utils/DataUtil.java: Generalized to
	  get WKms as arguments.

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java,
	  src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQ.java: Implements
	  the extended WKms interface.

	 * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	   Uses the generalized DataUtil.guessWaterIncreasing().

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

	flys/issue347 (W-INFO / Wasserspiegellagenberechnung, Längsschnittdiagramm)
	flys/issue303 (Keine Streckenfavoriten, wenn nur Q im Längsschnittdiagram ausgewählt)
	flys/issue353 (W-INFO / Wasserspiegellagenberechnung, Diagramm)

	* src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: New. A
	  wrapper for Annotations which allows us to provide a description for a
	  set of annotations.

	* src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java:
	  The getData() will now return an instance of FLYSAnnotation that wraps
	  the Annotations returned by the AnnotationArtifact. The lebel of
	  FLYSAnnotation is the description of this Facet.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Modified the way to add Annotations. We will no longer create an empty
	  series to support a LegendItem for a set of Annotations, but we will add
	  a LegendItem manually to the LegendItemCollection of the plot. In
	  addition, we are now able to display annotations if one of the two
	  y-axes are missing. If there are no y-axes existing, we are not able to
	  display annotations yet.

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

	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
	  Lifted the wrong point. Now all backjump corrections look fine. :-)

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

	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
	  Fixed bugs and make use of a cache for annotations now.

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

	Worked on flys/issue31

	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
	  Simplified the code a lot. Needs testing. Maybe flys/issue31 is gone

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

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Fetch the WstUnit value from river - the Wst itself no longer supports a
	  Unit iself.

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

	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java,
	  src/main/java/de/intevation/flys/utils/DoubleUtil.java: Moved some generic
	  double array code to DoubleUtil.

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

	* src/main/java/de/intevation/flys/utils/DoubleUtil.java (interpolateSorted):
	  Added code to linear interpolate double values in a sorted array.
	  Keys and values are given as double arrays. Keys need to be sorted.

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

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
	  Removed superfluous imports.

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

	flys/issue330 (Dauerlinie kann nicht berechnet werden)

	* src/main/java/de/intevation/flys/artifacts/model/Calculation3.java:
	  Add a problem if no data was found for duration curves.

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

	* src/main/java/de/intevation/flys/themes/Theme.java,
	  src/main/java/de/intevation/flys/themes/DefaultTheme.java: Added
	  getter/setter methods to provide a facet (string) and index (int). Both
	  values are written as attribute to the Theme's XML representation.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Set the "facet" and "index" values of themes.

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

	flys/issue346 (W-INFO / Anzeige der Höheninformation)

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Modified x and y axis title. The x axis title is now "RIVERNAME-km"; the
	  y axis title is now "W[WST_UNIT]" where WST_UNIT depends on the unit of
	  the WST.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Modified i18n expressions for
	  x and y axis of longitudinal section charts.

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

	flys/issue351 (W-INFO / Wasserspiegellagenberechnungen)

	* src/main/java/de/intevation/flys/utils/DoubleUtil.java: Modified the
	  explode() function that returns a list of values specified by min, max
	  and an interval. If the last value, determined by the interval, is
	  bigger than the max value, it is not included in the result list.

2011-09-30  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	flys/issue334 (Querprofil-Diagramm: Ausgabe dieses Diagrammtyps
	möglich, obwohl WSP Berechnung keine Ergebnisse liefert)

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  (compute): Add Facets regarding CrossSections only if data available.

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

	flys/issue176 (Diagramm: Benennung eines Abflusses bei gewählter Höhe am Pegel)
	flys/issue349 (W-INFO / Wasserspiegellagenberechnung, Längsschnittdiagramm)

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Create titles for W and Q waterlevel facets with proper fractions.

2011-09-30  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
	  (createStaticData, getLabels): Create proper labels for differences.

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

	flys/issue244 (WINFO: Export von AT-Dateien im ersten Teil unterschiedlich)
	flys/issue332 (W-INFO / Berechnung Abflusskurve, Export, FLYS 2.5)

	* src/main/java/de/intevation/flys/exports/ATWriter.java: Due to a rounding
	  issue the w's of the first line underun the minimal w of the curve at times.
	  An extra test was introduced to suppress the output of the q's of the wrong w's.

2011-09-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
	Use StringUtil.wWrap , fix wrong loop, minor refac and cosmetics.

2011-09-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
	Extracted/use StringUtil.wWrap .

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

	* src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java:
	  Log the gauge which has been determined.

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

	flys/issue332 (W-INFO / Berechnung Abflusskurve, Export, FLYS 2.5)

	* src/main/java/de/intevation/flys/exports/ATExporter.java: Store the
	  master Artifact which is set via setMasterArtifact(). This is required
	  for meta information used while preparing the header row of AT exports.

	* src/main/java/de/intevation/flys/exports/ATWriter.java: Print a header
	  row into the AT export for being compatible with desktop FLYS.

	* 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 header row for AT
	  export files.

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

	flys/issue328 (W-INFO / ÜSK: Auswahl der Wasserspiegellage / Auswahlunterstützung)

	* doc/conf/meta-data.xml: Added an out 'waterlevels' that might be used to
	  fetch user specific waterlevels (same as longitudinal sections, but
	  without Q facet).
	  In addition, the system specific datacage stuff is now fetched, when:
	  a) no user-id is given
	  b) a user-id is given and there is a parameter 'load-system'

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
	  If the label of the WQKms object specified by the waterlevel selection
	  begins with a "Q", the label is wrapped into a "W()", e.g. "W(Q=1200)".

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Made
	  feed() able to remove existing data items from Artifact's data pool.
	  Therefore, the value for the item which should be removed needs to an
	  empty string.

2011-09-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Extracted StringUtil.unbracket from WaterlevelSelectState.strip.

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
	  Extract and use StringUtil.unbracket, minor doc.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Changed access of getCurrentState() from protected to public.

	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: We
	  use the configured Outputs instead of the actuel Outputs of an Artifact
	  to make recommendations, now. This has the bad side effect of giving
	  recommendations for Outputs that we might _NOT_ be able to produce. But
	  otherwise, we would not be able to give recommendations for states with
	  long calculation times that start background threads for calculation (as
	  WSPLGEN caluclations does).

2011-09-27  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Enable "auto-scaling" axis for waterlevels in WDifference-plots.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  (createSecondaryAxis, zoomY): Refactored to allow modification in
	  siblings.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  (createSecondaryAxisRange): Override to achieve expected behavior.
	  Also adjusted label.

2011-09-27  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	In W-Difference Calculation, respect indices of selected facets.

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
	  (computeAdvance): Respect index of selected facets.

2011-09-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	flys/issue317: (Querprofil-Diagramm: Referenzen auf CrossSectionApp entfernen)

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Removed dependency to demo app.

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
	  Refactored to use logic from the models.

	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java:
	  Moved some logic from the demo app to this model.

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

	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: New. Code
	  from FloodMapState moved to its own class with the intent, to use it in
	  classes different from FloodMapState.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Removed the inner class FacetCreator.

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Stores
	  an instance of FacetCreator.
	  NOTE: Maybe we should move the WSPLGEN parameters into an own class
	  which might be serializable.

	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Use the
	  FacetCreator instance stored in the WSPLGENJob to create a new WSPLGEN
	  facet if the calculation was successfully (without errors). Finally, the
	  facets of FacetCreator are added to the Facet list of the FLYSArtifacts.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Put Artifact in background mode first before starting WSPLGEN, otherwise
	  a very fast errors (call CallContext.afterBackground() before Artifact is
	  in Background mode) might lead to an inconsistent state.

	* src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java: Repaired
	  broken error num parsing.

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

	* src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java: Track
	  critical errors as well (improved regular expression for errors).

2011-09-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* ChangeLog: Fixed whitespace usage.

2011-09-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/RiverService.java,
	  src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java
	  src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Removed superfluous imports.

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

	flys/issue68 (Diagramm: Werte an der Y-Achse benötigen i18n)

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added a
	  method to retrieve the current/preferred locale specified by CallMeta.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Introduced two methods localizeDomainAxis() and localizeRangeAxis().
	  Both methods of this class override the NumberFormat used to format axes
	  numbers. Those methods are called by localizeAxes() - which has private
	  access - for each domain and range axis of the current XYPlot.

2011-09-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/cache.xml: Number of cached annotations was much
	  to low.

2011-09-27  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Improved w-differences diagram generation where multiple differences
	can be shown.

	* src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java:
	  New facet type.

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
	  Employ new DifferenceCurveFacet, return CalculationResult that can
	  store more than one WKms.

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

	flys/issue320 (ÃœSK:Mapserver hat Probleme beim Shapefilepath mit "../" im Pfad)

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Use
	  File.getCanonicalPath() to substitute "../" in shapefile directories.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  The extent of the WSPLGEN result layer is now specified by the extent of
	  the CrossSectionTracks that matches the start and end kilometer of the
	  WSPLGEN calculation.

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: New function
	  that creates the OpenLayers bounding box based on two Geometries.

2011-09-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Improved w-differences diagram generation with included "absolute"
	values.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Fixed one (of two) incorrect labels.
	  (doWaterlevelOut): Survive non-found gauge, fetch kilometer and w
	  instead of values for w and q.

2011-09-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Add positional-conflict-awareness when merging Facets for a
	FLYSArtifactCollection. First come first serve.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
	  (writeFacets): First, sort incoming facets into 2 groups:
	  "genuinely new" and "already there", then for each new check
	  whether the position is already taken. If so, push "up" (position++)
	  until no conflict exists anymore.

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

	flys/issue296 (Karte: Bezeichnungen verbessern)

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  I18N of the WSPLGEN and barriers facets (WMS layers).

	* 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 strings for the wsplgen
	  and barriers WMS layers.

2011-09-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix (revert) access to position in ManagedDomFacet.

	* src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java:
	  (getPosition): Do not add prefix when querying position ("pos")
	  attribute, add a logger for faster future debugging.

2011-09-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Squash positional conflict-bug.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
	  (mergeFacets): Removed, replaced in parts by pickFacet.
	  (pickFacet): New, return facet to be added to document.
	  Documentation added.

2011-09-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Squash a bug about wrongly named "art:pos" attribute in ManagedDomFacet (was
	"pos"). Added documentation from commit message.

	* src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java:
	  Added documentation (commit message with minor adjustments).
	  (getPosition, setPosition): Include PREFIX in attribute name.

2011-09-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Refactoring, doc.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
	  (mergeFacets): Removed, replaced in parts by pickFacet.
	  (pickFacet): New, return facet to be added to document.
	  Documentation added.

2011-09-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Cosmetics, docs.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
	  Documentation added.

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

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Subclasses the FLYSService now - this should improve the database
	  connection handling.

2011-09-22  Bjoern Schilberg <bjoern.schilberg@intevation.de>

	* doc/mapserver/mosel-mapfile.map:
	  Full blown mosel wms mapfile.

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

	* src/main/java/de/intevation/flys/artifacts/services/FLYSService.java:
	  New. A subclass of DefaultService which is used in FLYS to init and
	  shutdown database connections.

	* src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java,
	  src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java,
	  src/main/java/de/intevation/flys/artifacts/services/RiverService.java:
	  Centralized the initialization and shutdown of database connections.
	  These services now subclass FLYSService which handles the database stuff.

	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: The
	  current database connection is not closed here - this is done in a
	  Service or in the CallContext.

	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java: It's
	  not necessary to create new database connections here. We already have
	  an existing connection which is initialized by CallContext.

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

	* src/main/java/de/intevation/flys/artifacts/states/DistanceOnlySelect.java:
	  Override validate() of parent classes to suppress "step" validation
	  which is not present in this state.

	* src/main/java/de/intevation/flys/artifacts/states/RangeState.java: Added
	  new method validateBounds() which really just validates a boundary
	  without "step" parameter.

2011-09-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added WaterlevelArtifact to accompany WINFOArtifacts in WDifferencesPlots.

	* src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java:
	  New WaterlevelArtifact.

	* doc/conf/conf.xml:
	  Added configuration for WaterlevelArtifact configuration (path to state-xml)
	  waterlevel-factory.

	* doc/conf/artifacts/waterlevel.xml:
	  New, trivial state description for Waterlevelartifact.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelInfoState.java:
	  New, only state for WaterlevelArtifact.

2011-09-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Cosmetics, docs.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
	  src/main/java/de/intevation/flys/collections/AttributeWriter.java,
	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Cosmetics, documentation.

2011-09-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added WaterlevelOut-processing ability to WDifferencesCurveGenerator.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Process LONGITUDINAL_W facets.

2011-09-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Improved WDifferenceState in preparation to be able to deal with multiple
	pairs for differences.

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
	  Prepare multiple-pairs-case.

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

	flys/issue315 (Überschwemmungsfläche: String bei Streckenauswahl)

	* doc/conf/artifacts/winfo.xml: Added a new state for floodmap's range
	  input. This state will accept a km range only, there is no step width.

	* src/main/java/de/intevation/flys/artifacts/states/DistanceOnlySelect.java:
	  New. The state which is used to enter a km range with step width.

2011-09-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Cosmetics, improved debug output, doc.

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Improved debug output.

	* src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java:
	  Added documentation.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java,
	  src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
	  Removed commented code.

	* src/main/java/de/intevation/flys/collections/AttributeParser.java:
	  Whitespace cosmetics.

2011-09-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Avoid NullPointerException when drawing XYChart without data.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Guard calls to dataset to avoid NullPointerException.

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

	flys/issue325 (FLYS Client: Auswahl des DGM zeigt numerischen Wert an)

	* src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java: Write
	  a better label for the selected DEM into the static DESCRIBE. Use the
	  name of the DEM file as label instead of the database id.

2011-09-16  Bjoern Schilberg <bjoern.schilberg@intevation.de>

	* doc/mapserver/fontset.txt:
	  Added initial font set for km_annotation layer.
	* doc/mapserver/symbols/symbols.sym:
	  Added square symbol for km and fixpoint layer.
	* doc/mapserver/saar-mapfile.map:
	  Adjust styling in the flys karte-archiv way.

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

	Tagged RELEASE 2.5

	* Changes: Prepared changes for release.

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

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java,
	  src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Removed
	  needless imports.

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

	* doc/conf/meta-data.xml: Improved datacage configuration for DEMs.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Query DGMs by the given ID in the FLYS data pool - not by given range
	  values.

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

	* doc/conf/meta-data.xml: Added a section for DEMs to the floodmap
	  section.

2011-09-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix build.

	* src/main/java/de/intevation/flys/artifacts/state/WDifferencesState.java:
	  Fix build.

2011-09-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Take a given WaterlevelPair-String, load artifact and plot the diff.

	* src/main/java/de/intevation/flys/artifacts/state/WDifferencesState.java:
	  Load correct artifacts.

2011-09-16  Bjoern Schilberg <bjoern.schilberg@intevation.de>

	* doc/mapserver/*: Added inital mapserver configuration files.

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

	* doc/conf/meta-data.xml: Moved the system specific configuration into a
	  macro to the top of the configuration document. Call this macro at the
	  end of the user specific part and in the part that should contain the
	  system specific stuff only!

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

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Defined createItem() here and adapted some method signatures, because I
	  need the CallContext deeper in code than expected.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
	  Write the name of the selected waterlevel into the static DESCRIBE.

	* src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java:
	  Adapted method signatures that have been changed in DefaultState.

	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
	  Removed method createItem() which is now defined in the upper class
	  DefaultState.

	* 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 string for selected
	  waterlevel that is displayed in static UI.

2011-09-16  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 state label for
	  waterlevel selection.

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

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
	  Validate incoming data string and strip brackets.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Fetch waterlevel data from external Artifact if existing. If no external
	  Artifact is specified that provides waterlevel data, we gonna try to
	  fetch it from the current Artifact.

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

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
	  Removed needless import which caused compile errors.

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

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Added a transform() method. This method should be used to transform
	  input data in form of a string into a better data structure. This state
	  provides a simple implementation which just returns a StateData object
	  that contains exactly the input string.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Transform
	  input strings using DefaultState.transform() before they are added to
	  its data pool.

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Made collection solid for the case if it has no Artifacts.

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

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Fetch Artifact
	  from ArtifactDatabase properly. Write better error logs if that process
	  fails.

2011-09-14  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Extend WDifferences branch to have calculations in dedicated, new state.

	* doc/conf/artifacts/winfo.xml: Added new State and Transition in
	  WDifferences-branch.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
	  New state.

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
	  Specify to not take input, prepare getting other facets.

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

	* src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java: This
	  state now desires the UIProvider 'dem_datacage_panel'.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
	  New. This state is used to define the desired UIProvider
	  'wsp_datacage_panel'.

	* doc/conf/artifacts/winfo.xml: Added a new way to start a WSPLGEN
	  calculation when choosing the calculation type 'floodmap'.

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

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: Merge
	  facets only if their name AND their owner artifact are equal.

2011-09-14  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Partial Fix flys/issue304 (3) (Baseline).

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Show Baseline in WDifferencesPlot.

2011-09-14  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix flys/issue310 (cross-section theme).

	* doc/conf/themes.xml: CrossSection-Themes: profile thin, water blue.

2011-09-14  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix flys/issue310 (cross-section theme).

	* doc/conf/themes.xml: CrossSection-Themes: profile thin, water blue.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Add an quick and simple error to the report if an error occured while
	  WSPLGENJob creation.

	* 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 error messages for
	  WSPLGEN job creation errors.

2011-09-13  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix crash when drawing StickyAxisAnnotation when no range was given.
	User-directed issues remain ( flys/issue303 ).

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java
	  (draw):
	  Guard access to domainAxis, rangeAxis and the corresponding ranges.
	  Warn and exit if any was null.

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

	flys/issue290 (Karte: Eingabe von Differenzen zw. WSP und Gelände findet
	keine Ausprägung in der Karte)

	* doc/conf/mapserver/wsplgen_class.vm: Added styles for DIFF attribute.

	* doc/conf/mapserver/mapfile.vm: Set debug default to '5'.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Add a first WSPLGEN status message (notifies the user about a
	  queued job) after the job has been added to the Scheduler.

	* 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 english and german
	  status message text.

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

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Write
	  shapefiles only if there are features for it existing.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  A WSPLGEN facet is only created, if the calculation was successfully
	  added to the Scheduler. A barrier facet is only created if the WSPLGEN
	  calculation has been added to the scheduler AND if there are digitized
	  geometries existing.

2011-09-12  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Copied and slightly modified implementation of guessWaterIncreasing from
	WQKms to (new) DataUtils. Accidentally commited usage in last commit, to
	correct orientation of diagram (invert x axis).

	* src/main/java/de/intevation/flys/utils/DataUtils.java:
	  New file with guessWaterIncreasing implementation from WQKms,
	  slightly adjusted.

2011-09-12  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Cosmetics.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
	  src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java:
	  Cosmetics.

2011-09-12  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added CSV Export for W-Differences.

	* doc/conf/conf.xml: Added Exporter.

	* doc/conf/artifacts/winfo.xml: Removed transition over distances
	  state, added export outputmode and facet.

	* src/main/java/de/intevation/flys/exports/WDifferencesExporter.java:
	  New, CSV-Exporter for WDifferences.

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
	  Add export facet.

2011-09-12  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java:
	  Cosmetics, docs.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java,
	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java:
	  Cosmetics.

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

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Sourced the code to append a concrete data item to the static DESCRIBE
	  part out to an own method (appendStaticData()).

	* src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java:
	  Override appendStaticData() to suppress the GeoJSON string to be
	  included in the static DESCRIBE.

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

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java,
	  src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java,
	  src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java,
	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Removed needless imports.

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

	* src/main/java/de/intevation/flys/artifacts/model/CalculationMessage.java:
	  New. A subclass of Message (in the Artifacts system). It stores a
	  string message and a progress (in form of step x/y).

	* src/main/java/de/intevation/flys/wsplgen/JobObserver.java: The observer
	  now writes background messages into the artifact system using the
	  CallContext.addBackgroundMessage(). We use instances of
	  CalculationMessage here, that makes the WINFOArtifact able to put
	  progress information into the Artifact's DESCRIBE as well.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Write
	  status message and progress information into the DESCRIBE if the
	  Artifact has started a background process.

2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix flys/issue280 .

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Do not draw boxes around annotations.

2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix flys/issue279 .

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Fix behaviour in various thinkable malconditions.

2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Made one case of cross section fetching more robust.

2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix Facet name and Legend of W-Differences, also insert state to specify
	distance.

	* doc/conf/artifacts/winfo.xml: Add additional transitions to walk over
	  distances state.

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
	  Set facets description.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  Take facets description as legend.

2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added configuration to kick-in w-differences branch of winfo.

	* doc/conf/conf.xml: Register new (w-differences) OutputGenerators.

	* doc/conf/artifacts/winfo.xml: Register new state and transitions.

	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
	  Added new (w-differences) calculation mode.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveInfoGenerator.java:
	  New file, implementing naive approach to display w-differences
	  (accidentially omitted in last commit).

2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added very stubby WDifferences State/OutGenerator for WINFOArtifact.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added w_differences facet type.

	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
	  New file, implements naive approach to calculate w-differences (of
	  calculations identified by hardcoded uuids!) and register respective facet.

	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
	  New file, implementing naive approach to display w-differences.

2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Implement getArtifact(uuid,context) in FLYSUtils.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java (getArtifact):
	  Added implementation, partially resolving a TODO. Added logger instance.

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

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENCalculation.java:
	  New. This sublcass of Calculation saves warnings and errors that occur
	  while WSPLGEN is running.
	  Note, that the interface of this class doesn't exactly apply the interface
	  of Calculation. Maybe, we should generalize this interface!

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Stores
	  an instance of WSPLGENCalculation now. We use this instance to save
	  warnings and errors.

	* src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java: Use the
	  WSPLGENCalculation to save errors and warnings.

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENReportFacet.java:
	  New. This facet is used for WSPLGEN reports. It stores an instance of
	  WSPLGENCalculation which saves ERRORS and WARNINGS that occur while
	  WSPLGEN execution.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Create a WSPLGENReportFacet for WSPLGEN reports.

	* doc/conf/conf.xml: Added an OutputGenerator 'report' for WSPLGEN
	  reports.

	* doc/conf/artifacts/winfo.xml: Added an output 'report' for WSPLGEN
	  reports.

2011-09-08  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/math/WKmsOperation.java,
	  src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
	  Cosmetics, docs.

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

	* src/main/java/de/intevation/flys/wsplgen/JobObserver.java: Small
	  adjustments that makes it easier to subclass this observer.

	* src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java: New. A
	  sublcass of JobObserver which analyses the WSPLGEN output for errors and
	  warnings.

	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Use
	  JobObserver and ProblemObserver to track the whole WSPLGEN output and
	  print number of errors/warnings to log output.

2011-09-08  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added translation of w_differences.

	* src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_de.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages.properties:
	  Added "w_differnces" translation.

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

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Appended
	  a new attribute 'background-processing' to the DESCRIBE of this
	  Artifact. Its value is 'true' if this Artifact has started a background
	  thread which has not finished yet - otherwise it is 'false.

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

	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java,
	  src/main/java/de/intevation/flys/utils/GeometryUtils.java: Moved the
	  code to determine the extent of a river based on its axis to
	  GeometryUtils.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Determine the extent of the selected river and set the WMSLayerFacet's
	  extent attribute.

2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added Themeing support for CrossSection Diagrams.

	* doc/conf/themes.xml:
	  Added new themes and mappings, slightly modified longitudinalsection
	  theme.

2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	In CrossSection Diagram fix subtitle to display the km of which the data is
	actually displayed (maybe contrasting users wish).

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  (getCrossSectionSnapKm): New method to fetch the actual km of crosssection.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Add correct km to charts subtitle.

2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix various display-issues like i18n in cross-section diagram.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Set description of facets to expected values.

	* src/main/java/de/intevation/flys/artifacts/exports/CrossSectionGenerator.java:
	  Fix i18n of chart title. Set subtitle to expected value, pass facets
	  description to StyledSeries to see expected legend.

2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Cosmetics, resolved refactoring todo.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java
	  (compute, computeAdvance, computeFeed): Refactored, extracted method,
	  resolving duplicate code and TODO.

2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix waterline "calculation" at given km. Chosen approach is
	"head-through-wall".

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Some refactoring to do the same calculation twice easier and be able
	  to "cross" waterline against correct profile data.


2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix setting of kilometer for profile (not yet waterlevel) of cross section
	diagram.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  (getCrossSectionData): Respect corss_section.km data; do naive linear
	  search for profile data for this km.

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java:
	  Declare a ComputeType.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Implement computeFeed.

2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Minor cosmetics.

2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/DataFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
	  src/main/java/de/intevation/flys/artifacts/state/DefaultState.java:
	  Cosmetics, docs.

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

	* doc/conf/mapserver/barrier_polygons_class.vm,
	  doc/conf/mapserver/barrier_lines_class.vm,
	  doc/conf/mapserver/wsplgen_class.vm: Default Mapserver styles for
	  barriers and WSPLGEN results. Those styles are only used as long as we
	  don't have map specific themes (as already used in charts).

	* doc/conf/mapserver/layer.vm: Implements a fallback mechanism for styling
	  barrier lines/polygons and WSPLGEN results.

	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Added a
	  getStyle() method that currently returns "null". This method needs to be
	  implemented when map themes are introduced.

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

	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Renamed
	  some attributes to make their job in the mapfile more obvious.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  new facet type for barriers.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: Add
	  a facet for the barriers layer.

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Parse
	  barriers (lines and polygons) and create two new layers for each type -
	  those layers are grouped.

	* doc/conf/mapserver/layer.vm: Renamed attribute based on changes in
	  LayerInfo and added support for Group-Layers.

2011-09-06  Raimund Renkert <raimund.renkert@intevation.de>

	* doc/conf/conf.xml:
	  Added driver to database configuration for use with postgresql.

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

	* doc/conf/mapserver/mapfile.vm: Removed FONTSET attribute and set quotes
	  for SHAPEPATH.

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

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENFacet.java:
	  Removed. We gonna use the WMSLayerFacet until now.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Add a WMSLayerFacet after we triggered the Scheduler to start a WSPLGEN
	  calculation.

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

	* doc/conf/mapserver/layer.vm,
	  doc/conf/mapserver/mapfile.vm: Small bugfixes and style improvements.

	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Trigger the
	  MapfileGenerator after a WSPLGEN job has finished regardless if it has
	  been finished successfully or not.

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

	* pom.xml: Added Apache Velocity 1.7 for templating support.

	* doc/conf/conf.xml: Added config options for mapserver/template relevant
	  stuff.

	* doc/conf/mapserver/mapfile.vm,
	  doc/conf/mapserver/layer.vm: New. A default mapfile template and a
	  template used for layers.

	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: New.
	  This class is used while reading WMS layer relevant information from
	  filesystem.

	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: New. This
	  thread is used for creating mapfiles for Mapserver. The MapfileGenerator
	  runs in daemon mode (own thread) and creates mapfiles based on WMS
	  layer relevant information read from filesystem.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java,
	  src/main/java/de/intevation/flys/utils/FLYSUtils.java: Moved shapefile
	  specific XPath expressions from FloodMapState to FLYSUtils which is a
	  better place to use it in other classes (as MapfileGenerator).

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

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java:
	  Bugfixed broken attribute assignment.

	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Call
	  CallContext.afterBackground() after a WSPLGEN job has finished to remove
	  the background lock from Artifact.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Call CallContext.afterCall(BACKGROUND) to lock the Artifact for
	  background processing.

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

	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: New. This
	  class is used to start WSPLGEN for a specific WSPLGENJob. The System
	  property "wsplgen.bin.path" tells the JobExecutor where the WSPLGEN
	  binary is placed (which means in general, the property points to the
	  'wsplgen.exe').

	* src/main/java/de/intevation/flys/wsplgen/Scheduler.java: New. This
	  scheduler currently allows to start just a single WSPLGEN Thread. All
	  WSPLGEN calculations should be started using Scheduler.addJob().

	* src/main/java/de/intevation/flys/wsplgen/JobObserver.java: New. This
	  thread reads log messages from WSPLGEN and listens for specific
	  messages. It should be used to update status messages of the WSPLGEN
	  calculation that is currently running.
	  There is a System property that tells the JobObserver to log all WSPLGEN
	  output to log4j: enable WSPLGEN output with "-Dwsplgen.log.output=true".

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Added
	  the FLYSArtifact, the current working directory and the CallContext.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Use the Scheduler to start new WSPLGEN calculations.

2011-09-02  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Add CrossSectionInfoGenerator.

	* src/main/java/de/intevation/flys/exports/CrossSectionInfoGenerator.java:
	  New, trivial implementation of CrossSectionInfoGenerator.

	* doc/conf/conf.xml:
	  Register CrossSectionInfoGenerator.

2011-09-01  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Cleanups of CrossSection*.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  New methods to retrieve name of utilized CrossSection.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Cleanup, get rid of copied unused method, documentation and more sensible
	  translations.

	* src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_de.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages.properties:
	  Added cross_section* translations, also cleanups.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Set the "typ" attribute of lines and polygons in barrier shapefiles.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Set the Z values of line and polygon barrier geometries. Both barrier
	  shapefiles will contain 3D geometries now.

2011-09-01  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Get real data to display in CrossSection (although ignorant of
	parameterization), making use of the showcase code of the CrossSectionApp-
	Standalone application.

	* doc/conf/artifacts/winfo.xml: Add new facet (~waterline) to state/out.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  New methods to get relevant data. So far just takes the first value of
	  everything and assuming a waterlevel at 130m.

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
	  New Facet responsible of water level in cross section.

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
	  Made some functionality publicly and statically available.

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java:
	  Update call.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added new
	  Facet type.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Added new Facet to out.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Respect new facet and facets data.

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

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Close an open
	  shapefile transaction and catch exceptions which are thrown while
	  shapefile creation here. If there occured an error, this functions
	  returns FALSE, otherwise TRUE.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Removed exception handling while shapefile creation - this is done in
	  GeometryUtils now.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Renamed the file for WSPLGEN required waterlevels to "waterlevels.wst".
	  WSPLGEN did not work with the former "waterlevels.txt" file.

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

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: New static
	  function that builds new SimpleFeatureTypes with additional attributes.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Write attributes "ELEVATION" and "KILOMETER" into the crosssection
	  tracks shapefiles.

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

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method
	  stub that should return a FLYSArtifact based on a given UUID.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Write the selected WST file for WSPLGEN. Note, that this is the WST file
	  of the current WINFO artifact. Furthermore, there is currently no way
	  for the user to select a column from WST file, so we currently use the
	  column that is written to WST file at first.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed
	  the parameter order of a compute(...) method. This makes me able to call
	  this without a hash value.

	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java:
	  Adapted the parameter order of the compute() call (see above).

2011-08-31  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	More bones to CrossSection sceleton.

	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java:
	  New, yet trivial implementations of Factory and Facet for CrossSections.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Add new CrossSection- (instead of Default-)Facet.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Adjusted to use (touch) new Factory and Facet.

2011-08-31  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Cosmetics.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Cosmetics.

2011-08-31  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Cosmetics.

	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java,
	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  Removed obselete imports.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Removed obselete imports, whitespaces.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Whitespaces, docs.

2011-08-31  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Fix translations of Main Values Facets.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Do acrobatics to keep state transient but get translated title.

	* src/main/java/de/intevation/flys/artifacts/MainValuesQFacet.java,
	  src/main/java/de/intevation/flys/artifacts/MainValuesWFacet.java:
	  Changed constructor to get description (which is then already be translated)
	  dynamically, adjust deepCopy.

	* src/main/java/de/intevation/flys/states/StaticState.java:
	  Adjust constructor accordingly.

2011-08-31  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Add sceleton for CrossSection outs.

	* doc/conf/artifacts/winfo.xml:
	  Added new output mode to respective state of winfo artifact configuration.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Add new Dummy-Facet in state.

	* doc/conf/conf.xml:
	  Registered new OutputGenerator.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new CROSS_SECTION type.

	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
	  New, stubby skeleton for an CrossSectionGenerator.

	* src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_de.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages.properties:
	  Added cross_section translation, also cleanups (e.g. main values).

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

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Marked
	  required parameters with a comment.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Export floodplains (german 'Talaue') to shapefile and write its file
	  path into the WSPLGEN job.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Search for a DGM that fits to the current river and km range and write
	  its file path into the WSPLGEN job.

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

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Improved
	  exception handling: exceptions are catched in GeometryUtils now.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Write river axis and crosssections to shapefiles and save shapefile
	  pathes in WSPLGENJob.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Use the coorect SRID for reading GeoJSON and writing line/polygon
	  shapefiles.

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Use a
	  concrete coordinate system while feature type creation.

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

	* pom.xml: Added GeoTools 2.7.2 dependencies for Shapefile, GeoJSON and
	  EPSG support.

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Store
	  'LIN' parameter in a list now. A WSPLGEN parameter might contain many
	  LINs.

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: New functions
	  to create FeatureTypes and to write shapefiles.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Write user specified barriers into a shapefile placed in the artifact
	  directory.

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

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function
	  that extracts the SRID defined in the global configuration file for a
	  given river.

	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
	  Removed the code that extracts the river SRID - use FLYSUtils instead.

2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Use FLYSUtils.getRiver instead of WINFOArtifact.getRiver.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Use FLYSUtils.getRiver instead of WINFOArtifact.getRiver.

2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Use FLYSUtils.getRiver instead of WINFOArtifact.getRiver.

	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Use FLYSUtils.getRiver instead of WINFOArtifact.getRiver.

2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Commit accidentally omitted result of refactoring (WINFO/FLYSUtils/getRiver).

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Removed implementations of getRiver, update calls to use FLYSUtils.

2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Interpolate Q main values, generate interpolated W main values on the fly from
	Q main values.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  (getGaugeDatum): removed, obsolete
	  (getLocation): new, gets location
	  Use WstValueTable to look up interpolated Qs of MainValues. In absence of
	  the same functionality for Ws, generate W Main Values from Q Main Values.

2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Use new helper class FLYSUtils, minor refactorization.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Use new functionality of helper class, convenience of FLYSArtifact.

2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Refactored to use new Helper class FLYSUtils, moved getRiver-functionality
	in there.

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java (getRiver):
	  New function to retrieve river of an artifact, slightly modified from
	  WINFOArtifact.

	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
	  Removed implementations of getRiver, update calls to use FLYSUtils.

2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Minor cosmetics.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Resolved a TODO.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Added some documentation.

	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
	  Minor cosmetic.

2011-08-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* doc/conf/meta-data.xml: Made it Oracle compatible.

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java:
	  If running in debug mode log executed statements.
	  Helps debugging Oracle connections.

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

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Set some WSPLGENJob parameters which are stored at FLYSArtifact.

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

	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: New. This helper
	  class should provide some basic FLYS stuff. Currently, there are functions
	  that return the km range/location.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed
	  the methods that return the km range/locations. This is implemented in
	  FLYSUtils now.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java: Adapted
	  the WINFO method calls to retrieve the km range/locations - call
	  FLYSUtils now.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New method
	  to destroy a single state.

2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Cosmetic, remove debug output and comments, minor style adjustments.

2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added limited themeing-support for MainValues.

	* doc/conf/themes.xml:
	  Added Q/W-MainValues themes.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Added limited theming support, add legend entry for main values.

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

	* doc/conf/conf.xml: Added a configuration node that points to the directory
	  where shapefiles should be stored in.

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: New.
	  This class is used to save/write the parameter for a WSPLGEN calculation.
	  WSPLGEN's *.par files are written using the toFile() method.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  A directory for all WSPLGEN stuff is created in computeAdvance() - those
	  directory and all its contained files are removed in endOfLife().

2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
	  New Util to work with theme-related stuff.

2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Use NamedDoubles instead of MainValues, try to adjust scale of Ws.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Use NamedDoubles instead of MainValues, generalize annotation handling, to
	  allow easier reusability and themeing.

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Added convenience constructor, exemplary switch on bordered text.

2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/meta-data.xml:
	  Recommend MainValues for Computed discharge curves.

2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	New NamedDouble class which implements a <String,double>-pair.

	* src/main/java/de/intevation/flys/artifacts/model/NamedDouble.java:
	  New, implementation of a double with a string or vice versa.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Call
	  State.endOfLife() for all States when endOfLife() of the Artifact is
	  called.

2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Also plot "W"-MainValues (on vertical axis), take correct parameters, but
	do not convert to correct scale (cm vs NN+m).

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Naive attempt at allowing the vertical axis to be sticked at.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Store Q and W MainValues separately, add them to plot as annotations.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Serve the MainValues, parameterized on river and location, Q and W.
	  Removed Facet-implementation.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Updated Facet Types.

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java:
	  src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java:
	  New, trivial facets, extracted from MainValuesArtifact.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Call
	  State.endOfLife() of each State that is no longer in the queue of the
	  artifact when this artifact steps back to a previous state.

2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Plot MainValues delivered by MainValuesFacet in much the same ways than
	  Annotations in LongitudinalSection plots.

2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Prepare further differentiation between Annotations that stick to X or Y-
	  Axis, copied some positioning logic into StickyAxisAnnotation
	  implementation.

2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Minor cosmetics.

2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added MainValue-Fetching-Capabilities to MainValuesArtifact.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java
	  (initialize, getMinValues):
	  Let MainValuesArtifact return "real" MainValues, although ignorant of all
	  parameterization.

2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java
	  (MainValueFacet):
	  Improved and straightened implementation, added code-Annotations and Todos.

2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java
	  (MainValueFacet):
	  Improved and straightened implementation, added code-Annotations and Todos.

2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java
	  (getState):
	  Resolved multiple creation of state (yet not very clean).

2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Cosmetics, docs.

	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
	  Cosmetics.

2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added new (MainValues) Facet-Type.

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

	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java:
	  Added a method that returns a River object based on its database id.

	* src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: The
	  data that is required for this artifact is fetched from database instead
	  from a Master-Artifact. The creation of static artifacts should use
	  database ids instead of cloning a Master-Artifact.

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

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Removed needless imports.

2011-08-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added configuration for factory and rule for MainValueArtifacts.

	* doc/conf.xml:
	  Add a mainvalue factory to serve MainValueArtifacts.

	* doc/conf/meta-data.xml:
	  Recomment mainvalue artifact when computed_discharge_curve can be put out.

2011-08-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Let MainValuesArtifact have a state, outputmode and facet.

	* src/main/java/de/intevation/flys/artifacts/states/StaticState.java:
	  New, a non-abstract DefaultState.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Progressed with implementation, use StaticState to hook output modes and
	  facet in; use (Static)FLYSArtifact implementation.

2011-08-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Smaller cosmetics.

	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Cosmetics in comments.

	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
	  Added @Override annotations.

	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java:
	  Use brackets to improve readability of ternary operator.

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

	* doc/conf/meta-data.xml: Use "ids" in user specific part, too.

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

	* doc/conf/meta-data.xml: s/db-ids/ids/g to unify system and user specific
	  loading.

2011-08-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Extracted access to state and states in order to have fewer places to
	  modify when going for single/trivial state- artifacts.

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

	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java:
	  Append the river's srid to the WMSLayerFacet.

2011-08-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Minor fixes, ressurect Facet implementation as inner class.

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

	* doc/conf/artifacts/winfo.xml: Moved the input of barriers one state
	  earlier where the scenario is selected as well.

	* src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java:
	  This state now desires the "map_digitize" UI provider and returns both
	  items "scenario" and "uesk.barriers" in the dynamic describe part.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Removed the UI provider and the computeFeed() which is no longer needed,
	  because there is no more user input in this state.

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

	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java,
	  src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
	  Repaired broken xpath expressions (the config changed in one of the last
	  commits) and make use of the variable support in xpath expressions to
	  replace the rivername.

	* src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java:
	  Save the rivername while initializing this artifact. This is now
	  necessary, because each river can have its own background wms
	  configured.

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

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  Repaired broken river-wms initialization.

2011-08-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/DataFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java,
	  src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/WSPLGENFacet.java:
	  Made facets cloneable with the right type.

	* src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java,
	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Removed superfluous imports.

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Declare the first artifact of an output as master artifact (artifacts
	  are ordered by their creation time).

2011-08-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  Removed facet interface.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Make artifacts cloneable. TODO: Override deepCopy() in subclassed
	  states and facets.

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

	* doc/conf/conf.xml: Added the MapInfoService and adapted the floodmap
	  configuration. Now, each river can have its own background wms layer
	  defined.

	* src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java:
	  New. This service returns some basic information used to create maps for
	  a specific river. The name of the desired river needs to be defined at
	  "/mapinfo/river/text()".

	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
	  Adapted an xpath expression that points to the srid of a river in the
	  floodmap configuration (which changed).

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Build out/facet filter from XML document passed at creation time.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Added some code to filter outs/facets by an optional positive list.
	  This is needed to only expose parts of the facets. This
	  is needed for artifacts which are loaded into a collection.
	  TODO: create the filter from the XML document passed at creation
	  time.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Moved all
	  WINFO specific code to WINFOArtifact. FLYSArtifact is now only revolving
	  about state affairs.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Re-inserted
	  the specific stuff here.

	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java,
	  src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Adjusted the casts.

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

	* doc/conf/meta-data.xml: Filter by outs in user template part.

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

	* doc/conf/artifacts/winfo.xml: Defined an input value for the GeoJSON
	  string to save user defined barriers in the map.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  Added a computeFeed() method. In addition, this state now prefers the
	  "noinput" UI provider.

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

	* doc/conf/conf.xml: Each river requires a SRID definition. This
	  definition is used to transform the river's geometries into the desired
	  projection.

	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
	  This facets are able to save a SRID.

	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
	  The extent that is written into the WMSLayerFacet is determined by the
	  boundary of the geometry.

	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: New. A
	  utility class that provides helper functions for geometries. Currently,
	  one function is defined, that creates a boundary string for OpenLayers.

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

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java,
	  src/main/java/de/intevation/flys/artifacts/states/ProfileDistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/RangeState.java:
	  Removed superfluous imports.

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

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Removed CallContext from state validation. It is not needed and hindered
	  the extraction of all out of an artifact if you don't have a
	  call context (like initial scan of datacage database).

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Extract all outs now.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/FloodplainChoice.java,
	  src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
	  src/main/java/de/intevation/flys/artifacts/states/ProfileDistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java,
	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/RangeState.java,
	  src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java,
	  src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Adjusted calls.

2011-08-19  Felix Wolfsteller <felix.wolfsteller@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 lacalization of "Streckenfavoriten".

2011-08-19  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Picky white-space cosmetics.

2011-08-19  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added stub implementation of new MainValuesArtifact.

	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
	  New. Stub implementation for new MainValuesArtifact.

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

	Fixed flys/issue262

	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
	  Unified user and system tempate.
	  Looks for "/artifact-database/metadata/template/text()"
	  in conf.xml. Defaults to "${artifacts.config.dir}/meta-data.xml". If user id is
	  given its the default connection for contexts.

	* doc/conf/conf.xml: Adjusted
	* doc/conf/meta-data-system.xml, doc/conf/meta-data-user.xml: Deleted.
	* doc/conf/meta-data.xml: Unified version of user and system template.

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/App.java:
	  Adjusted the test program.

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

	Fixed flys/issue260

	* doc/conf/meta-data-user.xml: Uses master_artifacts view now.

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

	* doc/conf/datacage.sql: Added view master_artifacts to select
	  the master artifacts of the collections more easily.
	  To upgrade existing database:

	    CREATE VIEW master_artifacts AS
	        SELECT a2.id             AS id,
	               a2.gid            AS gid,
	               a2.state          AS state,
	               a2.creation       AS creation,
	               ci2.collection_id AS collection_id
	        FROM   collection_items ci2
	               JOIN artifacts a2
	                 ON ci2.artifact_id = a2.id
	               JOIN (SELECT ci.collection_id AS c_id,
	                            MIN(a.creation)  AS oldest_a
	                     FROM   collection_items ci
	                            JOIN artifacts a
	                              ON ci.artifact_id = a.id
	                     GROUP  BY ci.collection_id) o
	                 ON o.c_id = ci2.collection_id
	        WHERE  a2.creation = o.oldest_a;

	 TODO: Use the view in the templates.

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

	* doc/conf/meta-data-user.xml: Removed state filter because it was broken.
	  Simplified by joining two contexts.

2011-08-18  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  Fix issues with lines of annotation when zoomed (wrong scale used).

2011-08-18  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added legend for annotations to LongitudinalSectionDiagram.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Added a pseudo-dataseries/collection to employ existing infrastructure for
	  displaying localized label for Annotations (yet unthemed).

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties:
	  Made label-string available for localization.

2011-08-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Moved StickyAxisAnnotation into new package de.intevation.flys.jfree .

	* src/main/java/de/intevation/flys/exports/StickyAxisAnnotation.java:
	  Deleted/moved to src/main/java/de/intevation/flys/jfree/ .

	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
	  New/moved from src/main/java/de/intevation/flys/export/ , adjusted
	  package statement, made class public.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Added import statement for de.intevation.flys.jfree.StickyAxisAnnotation .

2011-08-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Extracted and renamed CustomAnnotation to StickyAxisAnnotation. Also removed
	needless imports.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/StickyAxisAnnotation.java:
	  Extracted class implementation CustomAnnotation and renamed to
	  StickyAxisAnnotation.

2011-08-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Improved CustomAnnotations and rendering thereof, now including an
	"axis mark" (little line at axis), also prepared possibility to put
	annotations on Y-axis.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Improved CustomAnnotation to include marks on the axis and better spacing
	  from it.

2011-08-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Implemented proof-of-concept collision-detection when drawing
	CustomAnnotations (text only).

	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java:
	  Pass a fresh ChartRenderingInfo-Object to createBufferedImage, such that
	  information can be collected while rendering.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Exploit the fact that XYTextAnnotation already registers drawn shape in the
	  ChartRenderingInfo if it exists and either an URL or tooltip is set.
	  Before drawing, calculate own shape and compare against already registered
	  shapes.

2011-08-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Implemented (yet dummy) custom Annotation class.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Added implementation of yet dummy CustomAnnotation class.

2011-08-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Slightly improved rendering of annotations.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Slightly improved rendering of annotations. Still no valid collision
	  detection. Annotations are drawn every 2 km; first come first serve.

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

	Fix for flys/issue191

	* src/main/java/de/intevation/flys/artifacts/model/WQ.java(longestIncreasingWRangeIndices):
	  Added a method to find the longest index range with increasing w values.

	* src/main/java/de/intevation/flys/exports/ATWriter.java: Export the longest
	  range of monotone increasing w values instead of the first one.
	  TODO: The first line of the export is still broken.

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

2011-08-12  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
	  Resolved two TODOs: get Annotations of selected River, get "point"
	  Annotations only.

2011-08-12  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added functionality to query range and point-annotations only to
	AnnotationFactory.

	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java
	  (getPointAnnotations, getAnnotationsBreadth):
	  New functions to query breadth and point-only annotations.

2011-08-11  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
	  Added a development mode for recommendations. Enabled with
	  stetting system property 'flys.datacage.recommendations.development' to true.
	  When set the XML template are re-read if the timestamps of the
	  files have changed so you do not have to restart the server again and again.

	* doc/conf/meta-data-user.xml: Sort collections by creation time in descending order.

2011-08-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Rather picky cosmetics only.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java,
	  src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java,
	  src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQKms.java,
	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java,
	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  End comments on a full stop, separate from closing '*/' by whitespace,
	  adjusted javadoc comments.

2011-08-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Made Annotations visible in LongitudinalSection diagrams.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Register new Facet Type, let LongitudinalSectionGenerator include
	  Annotations in diagram (yet unfiltered and independent of river).

2011-08-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/conf.xml,
	  doc/conf/artifacts/annotation.xml,
	  doc/conf/meta-data-system.xml:
	  Added configuration for AnnotationArtifacts.

2011-08-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	Added demo- implementation of a AnnotationArtifact and its Facet.

	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java,
	  src/main/java/de/intevation/flys/artifacts/states/AnnotationRiverState.java:
	  New. Initial version of an AnnotationArtifact and its State and Facet.

2011-08-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* doc/conf/datacage.sql: Extended schema for artifacts and collections
	  to have creation times, too.

	  To update existing databases:

	    ALTER TABLE artifacts ADD COLUMN creation TIMESTAMP NOT NULL DEFAULT current_timestamp;
	    ALTER TABLE collections ADD COLUMN creation TIMESTAMP NOT NULL DEFAULT current_timestamp;

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Store creation times for artifacts and collections, too.

	* src/main/resources/datacage-sql/org-h2-driver.properties,
	  src/main/resources/datacage-sql/org-postgresql-driver.properties:
	  Adjusted SQL statements.

2011-08-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Make it compilable again (BackendListener interface changed).

2011-08-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* doc/conf/meta-data-user.xml: Added grouping element around w/q of each
	  longitudinal section artifact.

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java,
	  src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java:
	  Added some debugging capabilities.

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/ResultData.java:
	  Added isEmpty() method.

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
	  Now it is possible to nest <dc:elements> into other elements in the <dc:context>
	  body. This is useful and needed for grouping and repeating results.

2011-08-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
	  User connection was cached, system was not. Lead to incorrect results.

2011-08-09  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* doc/conf/meta-data-user.xml: Added <old_calculations> element
	  around old calculations.

2011-08-09  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java:
	  Cosmetic: Replaced usage of legacy java.util.Stack with java.util.Deque.

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

	* doc/conf/meta-data-user.xml: Use 'CAST(x AS uuid)' instead of 'x::uuid'
	  to be more compatible.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
	  If given an artifact place its identifier into parameters passed to template.
	  Fixed swapped user/system connections if using the user template.

	* doc/conf/meta-data-user.xml: Recommend w/q facet from old calculations
	  if an artifact was given that represents a longitudinal section
	  "Laengsschnitt".

	  TODO  I: The template uses PostgreSQL specific UUID casts.
	  TODO II: We need to find a way only to recommend the master artifacts.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
	  Added a <dc:comment> tag to place comments in the meta data templates.
	  <!-- ... --> comments are copied through.

	* doc/conf/meta-data-user.xml: Added a simple test.

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

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Be a bit more tolerant about empty strings for UUIDs of artifact and user.

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

	Bring user specific meta data service to life.

	* doc/conf/conf.xml: There are now two templates to configure:
	  The system template (only the data from the backend) and the
	  user template (the datcage db and the backend db),

	* doc/conf/meta-data-template.xml: Deleted.
	* doc/conf/meta-data-user.xml: New. The user specific template. TODO: Write it!
	* doc/conf/meta-data-system.xml: New. The system template.

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/NoneUserSpecific.java:
	  Deleted.
	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
	  New. The logic to fill the templates.

	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java:
	  Adjusted to follow the new call signatures.

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Refactored. Removed the old code and only leave the new service. Following
	  XPaths are evaluated on the incomming document:

	  "/art:meta/art:artifact-id/@value" The UUID of the artifact. Optional.
	                                     Used to fill the template enviroment.
	  "/art:meta/art:user-id/@value"     The UUID of the user. Optional.
	                                     If given the user specific template is filled.
	  "/art:meta/art:outs/@value"        The list of outs used to recommend for the
	                                     various outputs.
	  "/art:meta/art:parameters/@value"  A list of key/value pairs to inject more
	                                     filters to the templating.

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/App.java:
	  Change to follow the new recommendations semantics.

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
	  Added symbolic constants to distinguish "user" and "system" db connections.

2011-08-03  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* doc/conf/conf.xml:
	  Cosmetics, let comments start with a capital and end on a full stop,
	  removed incorrect comment.

2011-08-03  Felix Wolfsteller <felix.wolfsteller@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Cosmetics, let comments start with a capital and end on a full stop.

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

	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java(extractOutputNames):
	  Fixed potential NPE.

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

	Added support for more than one db connection in datacage templating.

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
	  Now you can pass a list of named db connections to the build process.
	  The purpose is to mix more then one database (e.g. the backend db and
	  the user specific one).

	  To use this feature you can add an "connection" attribute
	  to <dc:context> with the name of the connection to use.
	  If no connection name is given the last used is used again.
	  Initially the first connection in the given list is used.
	  If the context is left the connection that was active before
	  will be active again in a stacking manner.

	  When creating NamedConnection objects you can set a boolean flag
	  if the results coming from the connection should be cached. This
	  is useful e.g. for the user specific database which runs in-memory
	  so caching would introduce some superfluous overhead.

	* src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java:
	  When executing the queries explicitly pass if caching should be used.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Forgot to fetch dialect dependent SQL statement for deleting
	  artifacts by uuid.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Set the name of the collections at initial scan, too.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Fixed wrong SQL references.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Fixed two NPEs.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java,
	  src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Forwarded kill collections and artifacts events to datacage.

	* src/main/resources/datacage-sql/org-h2-driver.properties,
	  src/main/resources/datacage-sql/org-postgresql-driver.properties:
	  Added statement to delete artifact by uuid.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java:
	  Made it compilable again. The signature of BackendListener has changed.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Completed the backend listener stuff.

	  TODO  I: Added some cleanup for orphaned artifacts.
	  TODO II: Figure out a way to delete collections/artifacts
	           which are delete from backend without the
			   backend API.

	* src/main/resources/datacage-sql/org-h2-driver.properties,
	  src/main/resources/datacage-sql/org-postgresql-driver.properties:
	  Added needed statements.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Update collection names on change. Remove artifacts from collections.

	* src/main/resources/datacage-sql/org-h2-driver.properties,
	  src/main/resources/datacage-sql/org-postgresql-driver.properties:
	  Added needed statements.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java:
	  Call datacage with the global context. This is needed to access the state engine.

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: Changed
	  signatures to take the global context, too. Create artifacts via backend listener
	  interface.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java:
	  Fixed recursion bug.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java:
	  Added debug output.

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

	* doc/conf/conf.xml: Added backend listener for datacage.

	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java:
	  New. Proxies backend listener calls to datacage.

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Implements backend listener. TODO: Update the datacage database
	  according the change calls.

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

	* src/main/java/de/intevation/flys/artifacts/services/meta,
	  src/main/java/de/intevation/flys/artifacts/datacage/templating:
	  Moved/renamed package to better fit the common semantics.
	  DataCage.java is now call NoneUserSpecific.java to reflect the
	  fact that it is the template for the user independent db
	  analysis.

	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java,
	  src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Ajusted imports and calls.

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

	* doc/conf/conf.xml: For documentation purposes added a out-commented
	  section with the default configuration of the datacage.

2011-07-31  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Delete the artifacts at before initial scan, too. They are independent
	  from users. Fixed problem when writing state data content.

	* src/main/resources/datacage-sql/org-h2-driver.properties: Added
	  statement to delete the artifacts at initial scan, too.

	* src/main/resources/datacage-sql/org-postgresql-driver.properties:
	  New. PostgreSQL version of the statements. The database scheme
	  is the same as H2. Very useful for debugging.

2011-07-31  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Added kludge for the types of artifact data. They seem to be null
	  in some circumstances. Needs to be debugged!

2011-07-31  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/datacage/DBConfig.java:
	  Fixed default connection URL to use a namend in-mermory database.

2011-07-31  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* doc/conf/datacage.sql: Fixed constraint.

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Added some debug output.

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

	* doc/conf/datacage.sql: Removed artifact_id from facet because there
	  is a link via out_id -> outs.id: artifact_id -> artifacts to
	  find the corresponding artifact.

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
	  src/main/resources/datacage-sql/org-h2-driver.properties: Store
	  facets of outs into datacage db at initial scan.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
	  src/main/resources/datacage-sql/org-h2-driver.properties:
	  Store outs of artifacts into datacage db at initial scan.
	  TODO: store facets.

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

	* doc/conf/datacage.sql: Added 'type' column in artifacts data.
	  Maybe useful for filtering.

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
	  src/main/resources/datacage-sql/org-h2-driver.properties:
	  Store artifact data into db at initial scan.
	  TODO: store outs and facets.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
	  src/main/resources/datacage-sql/org-h2-driver.properties:
	  Add artifacts into datacage db at initial scan.
	  TODO: Store data, outs and facets.

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

	* doc/conf/datacage.sql: Fixed spelling in sequence name.

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
	  src/main/resources/datacage-sql/org-h2-driver.properties: Simply add
	  collection item at initial scan if artifact was stored before.
	  TODO: Store new artifacts.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
	  src/main/resources/datacage-sql/org-h2-driver.properties: Add
	  collections at initial scan.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
	  src/main/resources/datacage-sql/org-h2-driver.properties: Add users
	  at initial scan.

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

	* doc/conf/datacage.sql: Using sequences for id generation now
	  to make schema more compatible.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
	  src/main/resources/datacage-sql/org-h2-driver.properties: Clear database
	  before initial scan.

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

	* src/main/java/de/intevation/flys/artifacts/datacage/DBConnection.java:
	  Deleted. This stuff comes from the artifact database now.

	* src/main/java/de/intevation/flys/artifacts/datacage/DBConfig.java:
	  New. The db config of the datacage database.

	* src/main/resources/datacage-sql/org-h2-driver.properties: New.
	  The SQL statements needed for the datacage.

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  Make use of the db config.

2011-07-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
	  New. A artifact database lifetime listener to build the initial
	  index of the artifacts in database.

	* doc/conf/conf.xml: Added the datacage to the list of lifetime
	  listeners.

2011-07-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* doc/conf/datacage.sql: Added an explicit table for the outs
	  of an artifact.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Make the current outs of an artifact accessible only with
	  the global context.

2011-07-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* doc/conf/datacage.sql: Added ON DELETE CASCADE constraints.
	  Added state in facet.

2011-07-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* doc/conf/datacage.sql: New. H2 Schema for the datacage database.
	  Uses special features like IDENTITY (autoincrement) typed columns.

	* src/main/java/de/intevation/flys/artifacts/datacage/DBConnection.java:
	  Pooled connection.

	* pom.xml: Added dependencies to H2 and Apache DBCP.

2011-07-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/test/java/de/intevation/flys/artifacts/AppTest.java,
	  src/main/java/de/intevation/flys/artifacts/App.java: Removed.
	  This the stupid "Hello, World!" app initially created by the
	  maven archetype. It was never used.

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

	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
	  Argh! Usage the DOM was not thread safe (discovered with ab).

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

	* doc/conf/meta-data-template.xml: '$recommended' lead to XPath
	  errors. Using "dc:contains($parameters, 'recommended')" helps.

	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java,
	  src/main/java/de/intevation/flys/artifacts/services/meta/FunctionResolver.java:
	  Added some debugging.

	* src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java:
	  Added parameters as 'parameters' to parameters. Usefull to check
	  for containment of variables.

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

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Added 'if log.isDebugEnabled() {}'.

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

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Made Artifact UUID optional and accept extra parameters, too. This enables
	  the service to be used without an arttifact and test all filters.

	  <art:meta xmlns:art="http://www.intevation.de/2009/artifacts">
	     <art:outs value="computed_discharge_curve,floodmap"/>
	     <art:parameters value="river:Elbe"/>
	     <art:filters value="recommended"/>
	  </art:meta>

	* src/main/java/de/intevation/flys/artifacts/services/meta/FunctionResolver.java:
	  'contain' accept Maps and collection, too.

	* src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java:
	  Made artifact option (= null) in recommendations.

2011-07-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java:
	  Moved connection specific into inner class. The enables the reuse of the
	  compiled statement.

	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: The
	  SQL statements are now only compiled once at creation time of the builder.
	  Each connection now reuses them.

2011-07-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* doc/conf/cache.xml: Added configuration for static datacage db access.

	* src/main/java/de/intevation/flys/artifacts/services/meta/App.java: Using
	  caches seems to need an explicit System.exit().

	* src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java:
	  Added support for caching the SQL statements and there results.

	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: Some
	  clean up. Reordered code for performance. Strip SQL statements more
	  aggressively.

	* src/main/java/de/intevation/flys/artifacts/services/meta/ResultData.java:
	  Made it Serializable.

	* src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java:
	  Introduced system property 'flys.artifacts.cache.config.file' to make
	  the caching configurable without pulling up the whole stack.

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Prepared the FLYSArtifactCollection to support the storage of already
	  loaded recommendations in its attribute document.

2011-07-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Adjusted to use the DataCage recommendations. The incomming document
	  can pass the artifacts UUID by '/art:outs/@value' the outs as a
	  comma separated list in '/art:outs/@value' and optional a set of
	  filters comma separated in '/art:filters/@value'.

	  If UUID and OUTS are not given the old service is used. This
	  should be removed as soon as the client uses the new service.

2011-07-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java:
	  Allow '-' in variable names.

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

	* doc/conf/meta-data-template.xml: Now, the river-id is really added to
	  the factory node of the wmsbackground layer.

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

	* doc/conf/meta-data-template.xml: Added the river-id to the factory node
	  of the riveraxis and wmsbackground layer.

2011-07-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java,
	  src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java,
	  src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java,
	  src/main/java/de/intevation/flys/artifacts/services/RiverService.java:
	  Adjusted to implement changed Service interface.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Refactored
	  the method that retrieves the Outputs for the Artifact. Now, we are able
	  to query the Outputs for the current state, and all outputs separately.

	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: The
	  recommendations provided by this monitor will take the Outputs of the
	  current state only into account.

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

	* doc/conf/meta-data-template.xml: Added conditions for each output type.
	  Splitted the "floodmap" output into two parts: a recommended one and a
	  complete one. The recommended part will only build the document tree for
	  the recommended artifacts; the complete part will build the whole document
	  tree that is available for a floodmap.

	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java:
	  This Hook now uses the DataCage to generate the recommended artifacts.
	  The output-defaults configurtion is needless now.

	* doc/conf/output-defaults.xml: Removed. The configuration of recommended
	  artifacts takes place in meta-data-template.xml.

	* src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java:
	  Bugfix: the DataCage didn't start working if its builder was NOT null,
	  but it shouldn't start if the builder IS null.

2011-07-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
	  Now it is possible to directly pass a Node as a root to the builder.
	  The owning document if fetch by Node.getOwnerDocument(). This is
	  useful if you want to generate the recommendation directly into
	  an already existing document under a given node.

	* src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java:
	  Changed the signature of recommend() to accept a node where to
	  append the recommendations.

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

	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
	  Added a macro mechanism:

	    <dc:macro name="keine-fuenf">
	      <dc:text>'5' ist nicht in der Liste der Outs.</dc:text>
	    </dc:macro>
	    <dc:call-macro name="keine-fuenf"/>
	    <dc:call-macro name="keine-fuenf"/>
	    <dc:call-macro name="keine-fuenf"/>

	  Macros can be defined everywhere in the template
	  with 'macro'. There bodies can contain all valid elements
	  including other 'macro's and 'call-macro's. They are
	  called with their 'name' with 'call-macro'. The control flow
	  is continued inside the body of the called macro and
	  will continue right after the calling 'call-macro' when
	  the macro body is finished.

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

	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
	  Added a new 'if' construct similiar to XSLT:

	    <dc:if test="not(dc:contains($outs, '5'))">
	        <dc:text>'5' ist nicht in der Liste der Outs.</dc:text>
	    </dc:if>

	  The control flow is continued inside the 'if' if the 'test' attribute
	  as an XPath expression on an empty document evalutes to true.
	  Else the inside is skipped. There is no 'else'. Use 'choose'/'otherwise'
	  if you need this.

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

	* src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java:
	  Added a recommend() method to generate recommendations for
	  a given artifact, outs and extra parameters.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added
	  method to extract all data at once.

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

	* src/main/java/de/intevation/flys/artifacts/services/meta/FunctionResolver.java:
	  New. Custom XPath function provider. Provides
	  'dc:contains(Object [] haystack, Object needle)' by now. Should be
	  useful to check containments in 'out' lists later.

	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
	  Register the FunctionResolver to the evaluated XPaths.

	* src/main/java/de/intevation/flys/artifacts/services/meta/App.java:
	  Added code to parse
	  "param:a,b,c" to "param" -> new String [] { "a", "b", "c" } to
	  help testing the 'dc:contains' XPath function.

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

	* doc/conf/conf.xml: Added wms configurations for Saar, Mosel and Elbe.
	  Each river supported by FLYS requires such a WMS configuration. A WMS
	  should contain layers for the river axis, buildings, kilometer labels
	  and maybe a background layer as well.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java:
	  Added key that is used to store a map of WMS URLs - for each river a
	  WMS URL.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  Parse the river WMS from global configuration.

	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
	  Create WMSLayerFacets with URLs based on the river and the river wms
	  configuration stored in the FLYSContext.

	* src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java:
	  Adapted the initialize() signature and the method call of computeInit()
	  which requires a FLYSContext to retrieve the river WMS configurations.

	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java,
	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Added the context object parameter to the computeInit() method.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Call
	  initialize() with the context object - which is a FLYSContext or a
	  CallContext.

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

	* src/main/java/de/intevation/flys/artifacts/services/meta/App.java:
	  Check if builder was created properly before using it.

	* src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java:
	  Implements now variable provider for XPath expressions.

	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
	  Added new choose/when/otherwise construct similiar to XSLT

	      <dc:choose>
	         <dc:when test="$river = 'Mosel'">
	             <dc:text>Es ist die Mosel.</dc:text>
	         </dc:when>
	         <dc:when test="$river = 'Saar'">
	             <dc:text>Es ist die Saar.</dc:text>
	         </dc:when>
	         <dc:otherwise>
	            <dc:text>Es ist weder Mosel noch Saar.</dc:text>
	         </dc:otherwise>
	      </dc:choose>

	  A 'choose' block can contain a list of 'when's and an optional
	  'otherwise'. For each 'when' the test attribute is evaluated
	  as an XPath expression on an empty document. The result of
	  the evaluation is taken as a boolean value. If its value is
	  true the control flow is continued inside the corresponding
	  'when' and the other choose elements are not tested.
	  If the value is values the testing continues with the next
	  'when'. If no 'test' expression is evaluated to true, the
	  control flow continues inside the 'otherwise'. If no 'otherwise'
	  is given nothing happens at all.

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

	* doc/conf/conf.xml: Added a config section for floodmaps. Currently, the
	  background layer's url and layername is defined here.

	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java:
	  Read the background layer configuration from conf.xml. Those values are
	  used to create the WMSLayerFacet.

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

	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java:
	  The background layer facet will no longer have an extent set.

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

	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java,
	  src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
	  Set the extent of the created WMSLayerFacets and i18n its descriptions.

	* 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 I18N strings for the
	  background an river axis layer.

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

	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
	  This facet type has a method to set the extent of a WMS layer. The
	  extent is written to the facets XML node in toXML() as well.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Adapted
	  the signature of setup() which requires a CallMeta parameter now.

	* src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: Use
	  the CallMeta object retrieved in setup() to call initialize(). It is now
	  able to i18n things.

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

	* src/main/java/de/intevation/flys/artifacts/services/meta/App.java: New.
	  Standalone app to debug the datacage template. To use in a maven environment:

	  -Dmeta.data.template=PATH_TO_META_DATA-TEMPLATE.XML \
	  -Dmeta.data.parameters=river:Mosel \
	  -Dmeta.data.output=OUTPUT.XML \
	  -Dflys.backend.user=DB_USER \
	  -Dflys.backend.password=DB_PASSWORD \
	  -Dflys.backend.url=DB_CONNECTION_URL \
	  -Dexec.mainClass=de.intevation.flys.artifacts.services.meta.App

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

	* src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java:
	  New. First step to factor out the "Datenkorb" logic into a service independent
	  singleton.

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Uses the "Datenkorb" singleton now.

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

	* src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java:
	  Removed "index" property, because it is already existing in parent
	  class.

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

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Improved error handling.

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

	* src/main/resources/metadata/template.xml: Deleted.

	* doc/conf/meta-data-template.xml: New. Was template.xml

	* doc/conf/conf.xml: Made meta data template configurable.

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Load template from configuration not from resources.

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

	* src/main/resources/metadata/template.xml: s/[a-z]+-id/db-id/
	  Make database ids identifiable with unique name "db-id".

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

	* src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java:
	  Override the toXML() method. Subclasses can now write their own XML
	  representation.

	* src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java:
	  New. This ManagedFacet uses an Element (DOM) to store the information
	  about a facet. The intent of this facet type is to represent a facet
	  stored in an Collection attribute. Different facets can have different
	  attributes that we need to parse, but the only thing ManagedFacets need
	  to do, is to adjust the attributes "active" and "position". So, those
	  values are set directly on the Element, the other attributes aren't
	  touched.

	* src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java:
	  New. This facet is a wrapper for another facet. This subclass of a
	  ManagedFacet overrides the toXML() method. The XML representation is
	  defined by the inner facet that is stored as member variable. The
	  ManagedFacet specific attributes "artifact", "facet", "pos" and "active"
	  are added manually.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: Uses
	  the toXML() method to write a facet node into the attribute document.

	* src/main/java/de/intevation/flys/collections/AttributeParser.java: Uses
	  the ManagedDomFacet to save the information of a facet which is
	  contained in the attribute part of a Collection's DESCRIBE document.

	* src/main/java/de/intevation/flys/collections/OutputParser.java: Uses the
	  ManagedFacetAdapter to save a facet, because we want to keep the
	  specific facet to be able to write its specific XML representation into
	  the Collection's DESCRIBE document.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Adapted the XPath of facets stored in the attribute part of the
	  DESCRIBE.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
	  method that returns the Outputs for the Artifact.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Adapeted the call of OutputParser.

	* src/main/java/de/intevation/flys/collections/OutputParser.java:
	  Simplified the code to read the Outputs of Artifacts. This parser will
	  now longer parse the DESCRIBE documents of the Artifacts, but query the
	  Outputs via FLYSArtifact.getOutputs() directly.

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

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java:
	  Adapted the function call of ProtocolUtils.appendOutputModes().

	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
	  Override toXML() to add the URL and layernames to the XML representation
	  of this facet.

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

	* doc/conf/artifacts/wmsbackground.xml,
	  doc/conf/artifacts/riveraxis.xml: New configurations for an Artifact
	  that is used as background layer in floodmaps, and an artifact that is
	  used as layer showing the river axis in a floodmap.

	* doc/conf/output-defaults.xml: New file to configure default artifacts
	  for specific output states. E.g. the floodmap state recommends a
	  background layer and a layer displaying the river axis. In suche case,
	  the floodmap state recommends two artifacts for the two layers.

	* doc/conf/conf.xml: Added new artifacts/artifact-factories and a Hook to
	  monitor artifacts (-> CollectionMonitor.java).

	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
	  New. This facet is used to represent a layer in a map. So, this facet
	  stores information about a WMS URL and the layer names provided by this
	  WMS.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  facet types for the wmsbackground and riveraxis.

	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java,
	  src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java:
	  New. An artifact and its default state. The intent of these classes is
	  to generate WMSLayerFacets which represent background layers in maps.

	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java,
	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: New.
	  An artifact and its default state. The intent of these classes is to
	  generate WMSLayerFacets which represent layers that display a river
	  axis.

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Added the INIT ComputeType.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
	  case for the INIT ComputeType while computing data.

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

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Added a method computeInit() which is called to initialize data/facets
	  after an artifact has been created.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Repaired
	  broken XPath.

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

	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java:
	  Removed the code to generate new artifacts. Instead of creating new
	  artifacts automatically, we decided to suggest creating new artifacts
	  from specific types. Therefore, the DESCRIBE document of the artifacts
	  is extended with a node that contains recommended artifact types.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  FLYSArtifacts might be setup with the identifier of an other
	  FLYSArtifact. Subclasses are able to override a method called
	  initialize(Artifact, GlobalContext). This might be helpful to extract
	  required values or clone artifacts.

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

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  Adapted the signature of createArtifactContext() - it returns an
	  instance of GlobalContext now.

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

	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java:
	  Debugged the water fill algorithm. Added a lot of logging.

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
	  Added a text field to give a water level to fill in.

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

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Moved code
	  to create the output modes based on the given facets to FLYSArtifact. In
	  addition, FLYSArtifact got a new method that returns a specific input
	  value as string.

	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: New.
	  This hook monitors the "post-feed" and "post-advance". If the monitored
	  Artifact's state has configured recommended artifacts, this hook will
	  create new Artifacts.

	  TODO: We have to add the UUIDs of the new Artifacts to the DESCRIBE
	  document of the artifact to let the client know, that there are new
	  recommended Artifacts.

	* src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java: New.
	  This Artifact is the base class for Artifacts, that represent static
	  data. E.g. this could be a decoration theme in a chart or a background
	  layer in the map.

	* src/main/java/de/intevation/flys/artifacts/states/OutputState.java: New.
	  This state might be used as base class for states, that doesn't require
	  any user input, but only provide static Facets added by a computeFeed()
	  operation. So, subclasses need to implement computeFeed() only.

2011-07-13  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
	  New. Standalone Swing-App to test cross sections from database without the
	  hassles of our complete software stack. Runnable from a maven environment:

	  $ mvn -e \
	    -Dflys.backend.user=DB_USER \
		-Dflys.backend.password=DB_PASSWD \
		-Dflys.backend.url=DB_CONNECTION_URL \
		-Dexec.mainClass=de.intevation.flys.artifacts.charts.CrossSectionApp \
		exec:java

	  You can set the river to be used with the system property 'river'.
	  Defaults to 'Mosel'.

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENFacet.java:
	  Removed superfluous imports.

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

	* doc/conf/artifacts/winfo.xml: The FloodMapState has a new Outputmode
	  called "floodmap" now.

	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENFacet.java: New.
	  This facet is used to generate WSPLGEN results.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
	  the WSPLGENFacet.

	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
	  This state will now generate WSPLGENFacets.

2011-07-12  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java:
	  Fixed corner case.

2011-07-11  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java: New.
	  fillWater() generates a list of wet lines for a given profile and a
	  given water level.

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

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The
	  Outputs created while generating the DESCRIBE document will now have the
	  'type' member set.

	* src/main/java/de/intevation/flys/collections/OutputParser.java: Read the
	  'type' member from DESCRIBE document.

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

	* doc/conf/artifacts/winfo.xml: Removed a typo.

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

	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java:
	  DataFacet are now able to store the ID of the state which has created
	  this Facet.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Initialize DataFacets with the ID of this state. This is necessary to
	  renew the waterlevel data if it is no longer existing in the cache.

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

	* src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java: A
	  report facet can now store the state's id and the artifact's hash value
	  when it has been created.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Initialize the ReportFacet and WaterlevelFacet with state id and hash
	  information. This has been necessary to retrieve reports and waterlevels
	  in states after this one - in states that we need to enter for floodmap
	  parameterization.

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

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelGroundDifferences.java:
	  Changed the desired UI provider.

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

	* doc/conf/artifacts/winfo.xml: Added the option to continue the
	  waterlevel parameterization with the intent to create flood maps.

	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  This state is no longer a final state. The user has the option to
	  continue with the parameterization for flood maps based on the current
	  waterlevel. Therefore, this states desires the "continue" UI provider.
	  Clients should recognice this to just step to the next state or display
	  a button that lets the user step to the next state manually.

	* src/main/java/de/intevation/flys/artifacts/states/FloodplainChoice.java,
	  src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java,
	  src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/ProfileDistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelGroundDifferences.java:
	  New. These states are used to parameterize a further calculation type:
	  flood map.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Required strings for the
	  flood maps states.

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

	Fix(?) for flys/issue114

	* src/main/java/de/intevation/flys/artifacts/model/WQ.java:
	  Make guessing a bit more robust.

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

	Added the math needed to calculate "W-Differenzen" in "Laengsschnitten".
	Needs testing!

	* src/main/java/de/intevation/flys/artifacts/model/NamedObject.java:
	  Made it an interface to be usable in more than one inheritance chain.

	* src/main/java/de/intevation/flys/artifacts/model/NamedObjectImpl.java:
	  Implements the NamedObject interface and is the new base class of
	  WQ and WKmsImpl.

	* src/main/java/de/intevation/flys/artifacts/model/WKms.java:
	  New. Interface to associate kms with ws.

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java:
	  Changed the base class to NamedObjectImpl. Renamed getKms(int)
	  to getKm(int) to make clear it return a single scalar value
	  and fullfil the WKms interface.

	* src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java:
	  New. Implements the WKms interface. Intended to be a lightweight
	  datastore for "zusaetzliche Laengsschnitte" and as results
	  of the WKmsOperations.

	* src/main/java/de/intevation/flys/artifacts/model/WQ.java:
	  Changed base class to NamedObjectImpl.

	* src/main/java/de/intevation/flys/artifacts/math/WKmsOperation.java:
	  New. Operations on WKms data.
	  Currently only the SUBTRACTION operation is implemented. This
	  one is needed to calculate the "W-Differenzen". The operation
	  is insensitive about the km directions of the datasets. Missing
	  values are interpolated linear.

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Adjusted to satisfy the signature change of WQKMs.

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

	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java: New. This
	  XYSeries stores the style information that should be used to render this
	  series. These information are stored as raw XML documents. A public
	  method can be used to apply those style information to a
	  XYLineAndShapeRenderer.

	  Note: The only two attributes currently supported by StyledXYSeries
	  items are "linesize" and "linecolor".

	* doc/conf/themes.xml: Added some more basic themes for the four
	  calculation methods.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: This
	  generator now tries to apply themes for all series contained in the
	  chart. If a series is no instance of StyledXYSeries, the default
	  renderer is used.

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Removed the code that had been introduced to adapt renderers statically.
	  Now, each of these concrete ChartGenerators instantiates StyledXYSeries
	  items to put the curves into the chart. Those items contain style
	  information now!

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

	flys/issue135 (Diagramm: Trotz abgeschalteter Themen bleiben Beschriftungen bestehen)

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: The way
	  to store datasets has changed. Until this revision, the concrete
	  generators managed their own datasets. E.g. the
	  DischargeLongitudinalSectionGenerator had three datasets: w, q and
	  corrected w. Now, there are just two datasets, managed by this base
	  generator - one dataset for the first Y axis and one dataset for the
	  second Y axis. This makes it easier to remove axes, that have no data to
	  be displayed. All concrete chart generators have to add their XYSeries
	  using two methods: addFirstAxisSeries() and addSecondAxisSeries().

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Those concrete chart generators no longer manage datasets themself but
	  they use the two methods described above, to plot the data to the first
	  or second Y axis.

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

	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java:
	  Added the option to use a filter to reduce the number of items returned
	  by this service.

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

	flys/issue159 (WINFO: Radiobutton - Ortsauswahl bei "W für ungleichwertigen Abflusslängsschnitt" entfernen)

	* doc/conf/artifacts/winfo.xml: Changed the kilometer range input for
	  calculation 4. This calculation type requires a kilometer range. So,
	  after choosing the calculation 4, the transition model leads to a state
	  that just allows the input of a kilometer range with no option to
	  enter locations.

	* src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java:
	  New. A base state for the kilometer selection for calculations. The
	  target of this state is to provide facets for the duration curves.

	* src/main/java/de/intevation/flys/artifacts/states/DistanceSelect.java:
	  New. This state is used to enter a kilometer range. The difference to
	  the LocationDistanceSelect state is, that there is no option to enter
	  locations.

	* src/main/java/de/intevation/flys/artifacts/states/RangeState.java:
	  Improved this state to be the base state for calculation ranges.

	* src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java
	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: This
	  state no longer inherits from RangeState which now is used as base
	  state for kilometer ranges.

	* 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
	  the DistanceSelect state.

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

	* pom.xml: Downgraded Trove to 1.1-beta-5, because the new
	  later ones are removed from the maven repos.

	  The functionality we need is in 1.1 so this downgrade should
	  cause no problems.

	  Would be nice if we would support the maintainers of trove to
	  bring there new versions back into the main maven repos.

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

	* pom.xml: Repaired the JBoss repository which place has changed.

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

	Tagged RELEASE 2.4

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

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
	  src/main/java/de/intevation/flys/exports/WstWriter.java:
	  Append the corrected W column (if existing) to the WST export.

2011-06-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WQ.java:
	  Guessing increaing w is not based on direct neighbors any more.
	  The second to be compared with is choosen by random of
	  the values before the first one. This makes the guessing
	  more robust against 'plateaus' of equal w values.

2011-06-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/ATWriter.java: Array
	  for constructing the spline was too large leading to non-increasing
	  values.

2011-06-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	Fix for flys/issue150

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Invert the x axis if its guessed that water is increasing.

2011-06-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WQ.java(guessWaterIncreasing):
	  Added a method to guess based on a given factor of the size (default 0.05)
	  if the water levels are increasing. Needed to determine in which direction
	  the water level curve should be orientated. Based on random to avoid
	  running over large dataset each time a diagram is generated.

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

	  flys/issue177 (WINFO: Abflusskurven am Pegel verursachen ein Hängen des Servers)

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Commented out code to generate time ranges for series names. There
	  seems to be a problem while loading the discharge tables of a gauge or
	  while determining the start and/or end time of such discharge tables.

2011-06-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/**/*.java: Removed trailing whitespace.

2011-06-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Removed dead code.

2011-06-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	Fix for flys/issue173

	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
	  Fixed the way the gauge was found for a given interval.
	  The old way does not work because it was just tested if
	  the station point was inside the segments which is not
	  necessarily true. The obvious solution to simply check
	  the overlapping intervals does not work either because
	  the gauge ranges touch each other and so more than
	  one gauge are returned in these cases. The River.maxOverlap()
	  is now used to find the gauge with the max overlapping
	  range.

2011-06-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	Fix for flys/issue147

	* src/main/java/de/intevation/flys/artifacts/model/Calculation1.java:
	  Removed the 'kmUp' flag. It was an left over from former
	  WSP calculations (w/o ref km) leading to wrong results now.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Don't pass the kmUp flag to the calculation.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Added debug output to see the value of 'wq_free'.

2011-06-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	Fix for flys/issue86

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  The reference gauge for calculations "am Pegel" was determined
	  wrong.

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

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Conversion w->q was broken. This should fix a number of issues
	  around "W am Pegel" calculations.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Issue an error report if a w->q conversion fails.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  The gauge to convert w->q with its discharge table was determined wrong.

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

	  flys/issue174 (Diagramm: Q-Linie wird bei initialem Laden des Diagramms
	  anders dargestellt als bei Ansicht auf gesamten Wertebereich)

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  The chart will now have upper margins again.

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

	  flys/issue172 (Diagramm: Ursprung der Diagramme bei Dauerzahlen)

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Charts of this type will have the lower X value set to "0".

2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/ATWriter.java:
	  Results are now in cm. Made it more robust against corner cases.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Removed superfluous import.

2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* doc/conf/artifacts/winfo.xml, doc/conf/conf.xml:
	  Added facet config for AT exports.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added 'at' facet type.

	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java:
	  Generate AT facets.

2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/ATExporter.java: New.
	  Exporter for AT facets. Needs testing.

2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/ATWriter.java: New.
	  Writer for AT files. New code because our data model differs
	  from Desktop-FLYS. Needs testing.

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

	  flys/issue157 (Diagramm: Ursprung berechnete Abflusskurve)

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Moved the method that adjusts the X-axis to include the "0" value from
	  ComputedDischargeCurveGenerator to DischargeCurveGenerator. Now, both
	  charts will include the "0" on the X-axis.

2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WQDay.java:
	  Based on WQ now to make it exportable as AT.

2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WQ.java:
	  New. Base class for WQKms.

	  TODO 1: make it a base class for WQDay, too,
	  TODO 2: Generate instances of WQ instead of WQKms in "Abflusskurven"
	          calculations. This will save memory.

	  AT exporter will get instances of this class as data model

	* src/main/java/de/intevation/flys/artifacts/model/NamedObject.java:
	  Add default constructor to ease inheritance.

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java:
	  Based on WQ now. Removed code allready defined in base class.

2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* doc/conf/artifacts/winfo.xml: Add TODOs for error reports
	  of "Abflusskurven am Pegel". Maybe we don't need them?

	* doc/conf/conf.xml: Configure report for each calculated output type.

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

	  flys/issue164 (Berechnung 4: Umgekehrtes Berechnungsintervall führt zur)

	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
	  Create the items with range information for W and Q which allows the
	  client to validate the user inserted values.

2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Arguments in filling datastructure were flip. Now
	  the "Abflusskurve am Pegel" looks correct again.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Removed superfluous imports.

2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	Improved situtation on rendering "Abflusskurve am Pegel". Not
	fully working, yet.

	* doc/conf/artifacts/winfo.xml: Generate facets for the location path, too.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Misspelled
	  the facet which prevented the facets from being to the outputs.

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java:
	  Extended to store the hash and the state id of the producing artifact/state
	  else it results in NPEs because the data is calculated on later (wrong) states.

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
	  Store the state id and the hash in the facet, too.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Add two
	  method to do calculations for a state the artifact is currently not in
	  and fetching the current state id.

2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* doc/conf/artifacts/winfo.xml: Generate facets for "Abflusskurven am Pegel"
	  Not working by now. :-/

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: New facet type
	  for "Abflusskurven am Pegel"

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Do calculation
	  in the artifact not in the output generator.

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
	  Generate the new facets.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Fetch data from facet.

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

	  flys/issue161 (Diagramm: Q-Achse in W-Längsschnitten immer bei Q=0)

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  The Q axis (which is the second y axis) initially contains the 0 value.
	  After a zoom action has taken place, this behaviour is no longer
	  supported.

2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	Draw correction curve again.

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java:
	  Use correction curve to map plot to axes. Not doing so prevented
	  the correction curve from being drawn!
	  Smaller code cleanups and simplifications.

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQCKms.java:
	  Added methods to directly access the components w, q and c
	  at a given index.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
	  Attribute access via DOM instead of XPath.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Code simplification.

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

	  flys/issue157 (Diagramm: Ursprung berechnete Abflusskurve)

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Splitted
	  up zooming for x and y axes to be able to override specific axis
	  zoom behaviour.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  The lower bound of the x axis (which is the Q axis in such chart) is
	  always 0.

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

	  flys/issue90 (Diagramm: Trennung derDiagrammfläche und Achsenaufheben)

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Added a margin between chart data and chart axes.

2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	Fix for flys/issue158

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java:
	  Checks for right class now.

2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	Fix for flys/issue154

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java:
	  Checks for right class now.

2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Only generate 'outs' if they have facets.

	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java:
	  'boolean ? true : false' <=> 'boolean'

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Added the time-to-live to the DESCRIBE document.

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

	* doc/conf/artifacts/winfo.xml: Configured states to generate report facets.

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

	* src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java:
	  Return the report.

	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
	  Generate report facets if there are problems with the calculations.
	  TODO: Adjust winfo.xml to configure the facets.

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

	* src/main/java/de/intevation/flys/exports/ReportGenerator.java:
	  New. Generator for calculation reports.

	* doc/conf/conf.xml: Added ReportGenerator.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  Added type 'report'.

	* src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java:
	  Specialized facet for serving reports. TODO: Added them to the
	  calculation states.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation.java:
	  Looped through CallMeta for i18n purposes. TODO: do i18n

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

	* src/main/java/de/intevation/flys/exports/AbstractExporter.java:
	  Added some override annotations.

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

	* src/main/java/de/intevation/flys/artifacts/model/CalculationResult.java:
	  New. Used to transport the data and the error report.

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/Calculation1.java,
	  src/main/java/de/intevation/flys/artifacts/model/Calculation2.java,
	  src/main/java/de/intevation/flys/artifacts/model/Calculation3.java,
	  src/main/java/de/intevation/flys/artifacts/model/Calculation4.java,
	  src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/Calculation.java,
	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java,
	  src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java:
	  Use the CalculationResult now.

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

	* src/main/java/de/intevation/flys/artifacts/model/Calculation1.java:
	  Allow an explicit reference km to enable calculation "am Pegel".

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  If a calculation "am Pegel" is done, take start km of the
	  calculation range and find the gauge in which range it is located.
	  Take the station of the gauge as the reference km. If no gauge
	  is found the calcualtion falls back to calculation "auf freier Strecke".

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Replaced another inefficient attribute extraction via XPath
	  with direct DOM access.

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

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
	  src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Removed dead code.

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

	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java
	  src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
	  src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java,
	  src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Only generate facets when needed.

	* src/main/java/de/intevation/flys/collections/OutputParser.java:
	  Removed more XPath for simply accessing attributes of an element.

	* doc/conf/cache.xml: 200 elements in memory for "computed.values" are enough,
	  LRU as eviction strategy is sufficent.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java,
	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Use
	  more 'standard' Java naming conventions.

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

	Merged in the facet-slt branch to bring in the 'facet' feature.

	* doc/conf/artifacts/winfo.xml: Fixed some facets.

	* doc/conf/cache.xml: Added a "computed.values" cache to store the
	  results of the WINFO calculations.

	* src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java:
	  Add support for index per facet to make them unique and identifiable.

	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
	  New. Inteface to be used to access the facet names of the configuration.

	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java: New.
	  A facet to be used to have raw access to the computed data of an artifact.
	  Useful to export things like CSV and WST.

	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: New.
	  Specialized facet to access the water level data stored in WQKms arrays.

	* src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java: New.
	  Specialized facet to access the duration data stored in WQDay data structures.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Facets are
	  now generated dynamically from the current available ones stored with
	  the artifact.

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: Added
	  methods computeAdvance() and computeFeed() called if artifact is fed or
	  adance. This overwritten in subclasses to do the state depending calculations.

	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: These
	  states overwrites the computeAdvance() and computeFeed() methods to do
	  the corresponding WINFO calculations.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Calls
	  computeAdvance() and computeFeed() if artifact is fed or advanced. Centralized
	  the caching mechanism.

	* src/main/java/de/intevation/flys/exports/AbstractExporter.java,
	  src/main/java/de/intevation/flys/collections/AttributeParser.java,
	  src/main/java/de/intevation/flys/collections/OutputParser.java,
	  src/main/java/de/intevation/flys/collections/AttributeWriter.java,
	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Adjusted the code to cope with the indices of the facets. Used
	  DOM to access the attributes instead of XPath. Removed smaller bugs
	  concerning position generation.

	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/OutGenerator.java:
	  Forwarded facet references.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
	  Uses facets to fetch data and generate output now.

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

	* doc/conf/artifacts/winfo.xml: Added a new parameter "wq_free" that
	  determines the mode of calculation 1. If it is "false" (default),
	  the calculation should be bound to a gauge.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
	  method to retrieve the information about the "wq_free" parameter.

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

	* doc/conf/artifacts/winfo.xml: Added a facet for corrected W in
	  computation 4.

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

	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java:
	  Got rid of namespace in result document.

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

	  flys/issue77 (Diagramm: Beschriftung der Kurven bei Dauerlinien)

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Give the curves in the chart names.

	* 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 titles for duration
	  chart curves.

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

	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java:
	  Write top 'Oberkante' and bottom 'Unterkante' to out going XML
	  if they exist.

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

	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
	  Write the min/max W/Q ranges as art:range elements into the DESCRIBE.

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

	* src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java:
	  This state that is used to retrieve locations will now write the
	  kilometer range of the selected river into the DESCRIBE document.

2011-06-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation1.java:
	  New. Factored out version of "Wasserspiegellage" calculation.
	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java:

	  Removed some dead code.

	* src/main/java/de/intevation/flys/artifacts/model/WQCKms.java:
	  Added Override annotation and used quick access method.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Looped through error reporting use by interpolate.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Used factored out version of calculation 1. Removed dead code.

2011-06-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation2.java:
	  New. Factored out version of "Abflusskurve".

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Loop errors through w/q at km interpolation.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Use factored out version of calculation 2.

2011-06-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation3.java:
	  New. Factored out version of "Dauerzahlen".

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Loop errors through for q->w interpolations.

	* src/main/java/de/intevation/flys/artifacts/model/WQDay.java:
	  Added constructor to directly create with calculated results.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation.java:
	  Added method to return the number of problems.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Use factored out version of calculation 3.

2011-06-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQCKms.java,
	  src/main/java/de/intevation/flys/artifacts/model/WQDay.java:
	  Added methods to remove NaN values.

2011-06-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation.java:
	  New. Base class for calculations. Used to collect problems occuring
	  during calculation.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
	  Extends Calculation now. Looped through the problem reports to
	  base class.

	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
	  Looped through the problem reports.

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

	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java:
	  Append the min/max range and a transformation matrix for each axis.

	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
	  Instantiate the InfoGeneratorHelper with a XYChartGenerator instance.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Changed the zoom operation. The zoom values defined in the chart request
	  document are no longer absolute values for a specific axis. Those values
	  represent percental values for the start and end point of x and y axes.
	  E.g. a chart has three axes with the following ranges:
	    - x axis  :  0 - 10
	    - y axis 1: 20 - 40
	    - y axis 2: 40 - 90
	    - zoom values for x: 0.1 - 0.9 (10% - 90%)
	    - zoom values for y: 0.2 - 0.8 (20% - 80%)
	  The produced chart will have the following ranges:
	    - x axis  :  1 - 9
		- y axis 1: 24 - 36
		  y axis 2: 50 - 80

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

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  Map datasets to axes correctly.

2011-06-08  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
	  Determine the gauges by their station positions. This hopfully
	  fixes the problem with wrong assigned gauges and invalid segments.

2011-06-08  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/Segment.java,
	  src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
	  Added more debug output.

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

	  flys/issue103 PART 1 (WINFO: Wasserspiegellagenberechnung / Layout-Inkonsistenz)

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Selected values are formatted with the current locale. The static part
	  of the DESCRIBE document will now contain i18n formatted numbers.

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

	  flys/issue93 (WINFO: Benennung der Berechnungsart korrigieren)

	* src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_de.properties: Changed the name of
	  calculation 4.

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Made the range determination more robust against NaN values.

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

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  The second y axis is set to position "1". It was set to "2" before, but
	  in that case, there was no position "1".

2011-06-08  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  s@m³/s@m\\u00b3/s@

2011-06-08  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java:
	  Only generate an axis element if a axis really exists.

2011-06-07  Sascha L. Teichmann <sascha.teichmann@intevation.de>

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

2011-06-07  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Use java.util.List instead of java.util.Vector

	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Removed superfluous imports.

2011-06-07  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  createItem() is not abstract any longer to avoid code repetitionin sub classes.

	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
	  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/DischargeLongitudinalSection.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
	  src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
	  Removed duplicated code, inserted default constructors and Override annotations.

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

	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java:
	  Append axes range information to the info document.

2011-06-07  Sascha L. Teichmann <sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  If feed() fails do not store invalid values in database.

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

	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java:
	  Removed asymmetrical "- 1" from width calculation.

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

	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
	  Fixed problem when more than one value per segment are given.

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

	Refactored version of "Berechnung 4"

	* src/main/java/de/intevation/flys/artifacts/model/Segment.java:
	  Added instance fields for a reference point (= location of gauge)
	  and backup of values (needed for naming).

	* src/main/java/de/intevation/flys/artifacts/model/WQCKms.java:
	  Added a constructor to be created from a WQKms. This is helpful
	  if a WQKms is replaced by a back jump correction.

	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
	  New. Outfactored version of "W bei ungleichmaessigen Abflusslaengsschnitt".
	  Much cleaner now and it should have a better handling of the corner
	  cases.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Removed the linear interpolation stuff. It is now in Linear. Removed
	  the LinearRemap interpolation method because it is not needed any
	  longer. Added a method to interpolate a given km with a given
	  function.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Removed the old calc 4 and used the new one.

	* src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java:
	  Deleted. Not needed any longer.

	* src/main/java/de/intevation/flys/artifacts/math/Function.java:
	  New. Interface for a uni-variate real function.

	* src/main/java/de/intevation/flys/artifacts/math/Identity.java:
	  New. Implements Function with f(x) = x

	* src/main/java/de/intevation/flys/artifacts/math/Linear.java:
	  New. Implements Function with f(x) = m*x + b

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Factored some stuff out to DoubleUtil. Removed some dead code.
	  Does some rounding correct.

	* src/main/java/de/intevation/flys/utils/DoubleUtil.java: New.
	  Centralized utils surrounding common double operations.

	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
	  Removed superfluous imports.

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

	  flys/issue90(Diagramm: Trennung der Diagrammfläche und Achsen aufheben)

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Determine the ranges of x and y axes. If no zoom ranges are given, we
	  will determine the min and max xy values in the dataset manually,
	  because JFreeCharts adds a margin to the left and right of the data
	  area automatically..

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Moved
	  the chart creation into an own public method. This lets the
	  ChartInfoGenerator create charts without duplicating code.

	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
	  Limited the possible class for generators to XYChartGenerator. This
	  enables the ChartInfoGenerator class to do the whole chart creation
	  stuff itself without outsourcing the code to concrete subclasses.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveInfoGenerator.java:
	  Removed the code to generate charts - this is done in ChartInfoGenerator
	  now.

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

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added new
	  methods to extract the x and y ranges from request document.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added a
	  method that zooms the chart to the specified x and y ranges.

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

	* doc/conf/conf.xml: Set collection ttl to 6 hours.

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

	* src/main/java/de/intevation/flys/artifacts/model/Segment.java:
	  New. Parse segments only once.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Expose new parser to artifacts. TODO: Use it.

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

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Changed interpolation methods to interpolate to an arbitrary position
	  in a given double result array as a preparation for segment independent
	  calculation.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Removed superfluous import.

	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
	  Fixed cause for crashing: Run back too far in some siutations.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Refactored range code a bit. Needs more work.

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

	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java:
	  Interchange the lower and upper x value of the chart if the x-axis is
	  inverted before the matrix values are computed. Now, the matrix is able
	  to work with charts that have an inverted x-axis.

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

	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: New. A
	  chart info generator generates a document that contains meta information
	  for a specific chart. Concrete instances of this abstract class need to
	  instantiate concrete ChartGenerators and dispatch nearly all methods of
	  an OutGenerator (init(), doOut(), setMaster()) to this instance. The
	  generate() method is implemented in the ChartInfoGenerator itself. It
	  creates a chart with help of the ChartGenerator instance and builds a
	  document that contains meta information of this chart.

	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: New.
	  This helper is used to create the chart info document. At the moment,
	  the only information that is included in this document is a
	  transformation matrix to transform image coordinates into chart
	  coordinates.

	  NOTE: The transformation matrix creation needs some work to support
	  charts with inverted X axis.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveInfoGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveInfoGenerator.java:
	  Concrete instances of ChartInfoGenerator that create the chart info for
	  the currently supported chart types.

	* doc/conf/conf.xml: Registered new OutGenerators.

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Added support for the 'type' paramter of the collection's out()
	  operation.

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

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Use an explicit reference km for interpolation now.

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

	* doc/conf/cache.xml: Introduced cache to store the distance info per river.
	  This boosts performance in following ab setup from  3.61 to 39.91 requests/secs.

	  $ ab -c 20 -n 1000 -p distances.xml http://127.0.0.1:8181/service/distanceinfo

	  $ cat distances.xml
	    <?xml version="1.0" encoding="UTF-8"?>
	    <art:river xmlns:art="http://www.intevation.de/2009/artifacts">Elbe</art:river>

	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: Added
	  an iterator result to avoid construction expensive interim lists.

	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java: Use
	  the cache if configured.

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

	flys/issue82

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Only successful interpolations are named.

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

	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
	  Make it work independent of river flow direction.

	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
	  Fixed bug in ordering segments

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Re-enabled
	  calculation of the back jump correction. Fixed more flow direction issues.

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Removed call of XMLDebug class which is not in the version control.

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Moved the code part that skips themes right after the part that sets the
	  master artifact for the OutGenerator. We need this master artifact to
	  display empty charts - master artifact is used to create titles and
	  axes.

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

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Deactivated themes are not put into the chart.

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

	* src/main/java/de/intevation/flys/collections/AttributeParser.java:
	  Repaired broken XPath expressions to find the output modes in an
	  attribute document of a collection.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: This
	  writer will now create a document that has a root node art:attribute.
	  Before these changes, the document's root node was art:outputs which is
	  part of the attribute document but not the right root node.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Adapted some XPath expressions and corrected the the process to create
	  attribute documents.

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

	* src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java:
	  Made it work independent of from/to order.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Added method to extract the ranges correctly from data.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Use the correct ranges. Comment out backjump detection temporarily.

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

	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
	  Generate fields for w/q input depend on flow direction.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Moved km up question out of loop.
2011-05-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Take the flow direction into account.

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Prevent NPE.

	* src/main/java/de/intevation/flys/artifacts/states/RangeState.java:
	  Allow to be 'from' greater than 'to' in ranges.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Negate
	  step if 'from' is greater than 'to'.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Round exploded values to a precision of 1e-6.

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

	Qs are now stored in ranges for each column.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory2.java:
	  Deleted.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
	  Was WstValueTableFactory2.

	* src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java: Fixed
	  node linking bug. Removed dead code.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Q values are now stored in range trees by each column. The qs of the rows
	  are removed and the calculations are adjusted. Removed dead code.

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

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
	  Moved cache name to WstValueTableCacheKey. Do not cache null references.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableCacheKey.java:
	  Moved cache name into this class.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Store QRangeTree for each column of value table. TODO: Use them!

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory2.java:
	  Intended as a replacement for WstValueTableFactory, but is work in progress.

	* src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java: Fixed
	  index errors and added methods to dump as graphviz graph.

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

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Improved the validation of WQ values.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Use the
	  correct input data object to determine the selected WQ mode (range or
	  single input).

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

	  ISSUE-40 (part I/II)

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Write default values (values already selected by the user before) of the
	  input data items into DESCRIBE.

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

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
	  Removed needless imports.

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

	  ISSUE-85 (part III/III)

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
	  Added a static function that returns the kilometer values (double[])
	  from locations input (whitespace separated double values).

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Adapted
	  the getKms() method. It will now return a computed array of kilometers
	  if we had inserted a range, or it will return the inserted kilometers if
	  we had inserted locations.

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

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
	  Moved cache key to separate class.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableCacheKey.java:
	  New. The new cache key class.

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

	* src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java:
	  Model to store the q values of a WST column efficiently. First
	  building block not to store the q values directly aside the
	  w values.

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

	  ISSUE-85 (part I/III)

	* doc/conf/artifacts/winfo.xml: Added two further field 'ld_mode' and
	  'ld_locations' to the range/locations state to track the selected mode
	  and locations.

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
	  Added methods to validate the user inserted locations.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
	  method to determine of a range or locations have been inserted.

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

	  ISSUE-62 (part II/II)

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Dump the
	  artifacts state/data in DEBUG mode in describe().

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java,
	  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/LocationSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
	  src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
	  States will no longer store data. The only reason for states storing
	  StateData is to know about the necessary data for this state. If a State
	  needs to access the user input for a specific StateData object, it needs
	  to query the FLYSArtifact which stores the data.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
	  method to dump the artifacts state(s)/data.

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

	flys/issue84

	* src/main/java/de/intevation/flys/artifacts/model/WstFactory.java:
	  Forget to select wst kind.

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

	flys/issue81

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  weights for kms were swapped.

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

	Tagged RELEASE 2.3.1

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

	* Changes: Prepared changes for the upcoming release.

2011-05-20  Hans Plum <hans@intevation.de>

	* NEWS:
	Hint to Release 2.3.1. For further information look into module
	flys-client/NEWS

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java (getExplodedValues):
	  Increment kms array size by one to take the end of range, too.

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

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
	  Sort by rows (should not be necessary).

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Use unsharp km lookup (epsilon = 0.0001). This fixes the problem
	  that some kms were not found.

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

	  flys/issue66

	* src/main/resources/messages_en.properties: Fixed broken template.

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

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Set the name of the computed discharge curve objects.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  The curves of this chart will now have names that consist of the word
	  'Discharge Curve', the river name and the kilometer that has been used
	  for the computation.

	* 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 i18n strings for the
	  computed discharge curves.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Added convenience method isQ() to determine if we are
	  doing Q calculations.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Reintroduced titles for the "W for unausgeglichene Abfluesse".

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

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  The curves will now have names that consist of the gauge name and its
	  valid time range.

	* 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 i18n strings for the
	  discharge curves.

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

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Removed dead code.

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

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Use the correct method to generate kms.

	* src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java:
	  Added some logging to test the map in debug mode.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Made getExplodedValues static.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Use new logic to calculate "W fuer ungleichwertige Abfluesse".
	  Not working, yet.

	* ChangeLog: Fixed former entry.

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

	* doc/conf/artifacts/winfo.xml: Registered the WST export for discharge
	  longitudinal sections.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Set the
	  names of the discharge longitudinal section computation results.

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java:
	  The W/Q curves in the chart will now have names.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
	  The WstWriter is filled with column names in an own method. So, we are
	  able to override this process in subclasses.

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java:
	  Adapted the column names for the WST export.

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

	Work on flys/issue69

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Use new logic to calculate "Wasserstand/Wasserspiegellage".
	  Compared to desktop FLYS are the results are structurally right
	  but a bit off in the positions after the decimal points.
	  Maybe a result of the interpolation? Need to debug this.

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

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  W and Q curves will now have names based on the defined W or Q values
	  for the waterlevel computation.

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

	* src/main/java/de/intevation/flys/artifacts/model/NamedObject.java:
	  New. This object is used to give objects a name.

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Inherit
	  from NamedObject now. Because we need to display names for those objects
	  in different places.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The WQKms
	  objects returned by a waterlevel computation will now have names.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
	  Insert the column names for the WSTs into the WstWriter.

	* src/main/java/de/intevation/flys/exports/WstWriter.java: The column
	  names are written into the head of the WSTs now.

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

	* src/main/java/de/intevation/flys/artifacts/model/WstLine.java: New. This
	  class is used to store the W/Q values of a specific kilometer of a WST.

	* src/main/java/de/intevation/flys/exports/WstWriter.java: New. A writer
	  that creates WSTs.

	  TODO: The header of the WSTs is not finished. The Q descriptions are
	  missing.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
	  Enabled WST exports.

	* doc/conf/artifacts/winfo.xml: Registered the WST export for waterlevels.

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

	* src/main/java/de/intevation/flys/utils/Formatter.java: New. This class
	  supports functions to retrieve formatters for specific types of data
	  used in FLYS.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/AbstractExporter.java:
	  Removed the formatter declaration - the whole formatter stuff is done in
	  Formatter now.

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

	  ISSUE-72

	* src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java:
	  Repaired broken XPath expressions to extract start and end kilometer.

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

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Removed the Hibernate loading stuff.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
	  New. The Hibernate loading.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Use the WstValueTableFactory for loading now.

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

	Tagged RELEASE 0.1 aka Version 2.3.0

2011-05-16  Hans Plum <hans@intevation.de>

	* NEWS:
	New. Giving some user specific perspective to new functionality and
	changes. This file references releases dates only; details can be find
	in the client module at flys-client.

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

	First step to calculate "W fuer ungleichwertige Abfluesse" correctly.
	flys/issue55

	* src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java:
	  New. Remaps "gleichwertige" Q values to the corresponding
	  "ungleichwertige" Q values depending on km.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Remap the Q values "ungleichwertig" depending on the
	  "gleichwertige" ones.

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

	First step to fix flys/issue69

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  New code path to implement the calculation of "Wasserstand/Wasspiegellage"
	  correctly. TODO 1: Use new path in UI. TODO 2: Remove unused old code.

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

	* Changes: Prepared Changes for the upcoming release 2.3 - see Changes
	  file to get to know about the changes of the version numbers.

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

	  ISSUE-37

	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: This
	  state would be happy if there is a UI provider called "river_panel".

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

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added new
	  methods that return the requested chart size as integer array [width,
	  height]. The requested size is read from the incomding request document.

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: The size
	  of a chart is no longer static. The requested size is fetched using
	  ChartGenerator.getSize().

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

	  ISSUE-52

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  The X-Axis of such a chart is inverted, if the head of the river is not
	  at kilometer 0. This type of charts always have the head of the river at
	  the left side.

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

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Make incoming XML symmetric to DistanceInfoService.

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

	  ISSUE-47

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Adjusted temporarily the color of the W, Q and corrected W curves to
	  distinguish each other.

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
	  Adjusted the plot of xy charts - the gridlines are displayed now.

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

	  ISSUE-53

	* src/main/java/de/intevation/flys/artifacts/resources/Resources.java:
	  Added a method that returns the preferred locale based on the available
	  locales of the server and the desired locales of the request (CallMeta).

	* src/main/java/de/intevation/flys/exports/AbstractExporter.java: Added a
	  method that creates a number formatter with minimum and maximum digits.

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java,
	  src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java:
	  Formatted the number values of the CSV exports.

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

	* src/main/java/de/intevation/flys/artifacts/model/RangeWithValues.java:
	  New. A data structure that enables us to save a data triple: a range
	  that consist of lower and upper double value and a set of values that
	  belong to this range.

	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
	  Implemented the validation of W/Q values.

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

	* src/main/java/de/intevation/flys/exports/AbstractExporter.java: New
	  method to retrieve i18n messages based on keys.

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java,
	  src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java:
	  Added headers for CSV exports.

	* 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
	  CSV headers.

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

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Fetches river name from incoming XML document. If no river is given all
	  infos about all rivers are listed.

	* src/main/resources/metadata/template.xml: Templates honors the 'river'
	  parameter.

	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
	  Extended to pass parameters to the templating. Added support for
	  type conversion.

	* src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java:
	  Take parameters as an initial stack frame.

	* src/main/java/de/intevation/flys/artifacts/services/meta/TypeConverter.java:
	  New. Converts types off stacked variables.

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

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added a
	  method to add subtitles to charts. The implementation in this class does
	  not add any subtitle. Concrete subclasses may override this method to
	  add some.

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Add subtitles to charts.

	* 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 i18n templates for
	  compound messages (chart subtitles).

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

	* src/main/java/de/intevation/flys/artifacts/resources/Resources.java:
	  Added new methods to retrieve translated compound messages.

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

	* src/main/java/de/intevation/flys/exports/OutGenerator.java: Added a
	  method to set the master artifact that should be used for some special
	  operations.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/AbstractExporter.java:
	  Implement the setMasterArtifact() method of the interface.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Call OutGenerator.setMasterArtifact().

	  NOTE: The determination of the master artifact needs to be implemented!

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Removed
	  hard coded dev code that defined a WQ mode.

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

	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
	  Stripped ugly extra whitespace from output introduced by
	  templating.

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

	* src/main/resources/metadata/template.xml: Added forgotten
	  columns of fixation WSTs.

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

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added a
	  method to retrieve i18n strings.

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Enabled i18n support for chart title and axes labels.

	* 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 i18n strings for the
	  chart types above.

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

	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java:
	  New. This OutGenerator exports the data of a discharge longitudinal
	  section computation.

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

	* doc/conf/artifacts/winfo.xml: Added the exporter with CSV facet to the
	  discharge_longitudinal_section state.

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

	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
	  Added code to make back jump correction work with both
	  potential flow directions.

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

	* src/main/resources/metadata/template.xml:
	  Added data cage configuration for 'Längsschnitt'.

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

	* doc/conf/artifacts/winfo.xml: Added the missing Q facet for discharge
	  longitudinal sections.

	* src/main/java/de/intevation/flys/artifacts/model/WQCKms.java: New. A
	  derived dataset to store W/Q values with corrected Ws for a kilometer
	  range.

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Some new
	  methods and a new constructor to initialize this data object with a
	  predefined set of values.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New
	  methods to retrieve the W/Q values for the 'discharge longitudinal
	  section' computation.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: New
	  methods to retrieve and compute data used for the 'discharge
	  longitudinal section' computation.

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

	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
	  Bugfix: just write the ranges of gauges into the DESCRIBE if the
	  'wq_values' data item is required.

	* 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 i18n messages used in
	  the DESCRIBE of the WQAdapted state.

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

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Changed the title of the y-axis (now 'W [NN+m]').

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

	* doc/conf/artifacts/winfo.xml: Improved the transition model to reach the
	  output state for creating 'discharge longitudinal section' charts.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
	  method that returns all gauges of the selected river based on a the
	  given kilometer range.

	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: New.
	  This state creates a set of elements for the DESCRIBE that consist of a
	  tuple of kilometer values. The number of elements depend on the number
	  of gauges intersected by the given kilometer range.

	* src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java:
	  New. This state is the output state that is reached after the 'discharge
	  longitudinal section' computation has been chosen.

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

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Default
	  step width between two kilometers added - if no step width is given,
	  this default width is used.

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

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Fixed a potential NullPointerException if there is just a single
	  kilometer given to create a longitudinal section.

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

	* pom.xml: Added http://repository.jboss.org/maven2 repo
	  to fix flys/issue30

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

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  To make diagram generation possible ws are now generated from qs
	  because they are many ws having different qs.

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

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java:
	  Fetch the WQ data from WINFO artifact and write those values into the
	  CSV export.

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