ingo@2077: 2012-01-05  Ingo Weinzierl <ingo@intevation.de>
ingo@2077: 
ingo@2077: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Repaired
ingo@2077: 	  broken items in legend. The new renderer requires the current plot. This
ingo@2077: 	  is set now.
ingo@2077: 
ingo@2076: 2012-01-04  Ingo Weinzierl <ingo@intevation.de>
ingo@2076: 
ingo@2076: 	* doc/conf/themes.xml: Added a new field 'pointsize' to the virtual theme
ingo@2076: 	  'HiddenColorLines'.
ingo@2076: 
ingo@2076: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added methods to
ingo@2076: 	  parse the new field of 'HiddenColorLines'.
ingo@2076: 
ingo@2076: 	* src/main/java/de/intevation/flys/jfree/StyledXYSeries.java: Apply the
ingo@2076: 	  pointsize defined in themes.
ingo@2076: 
ingo@2075: 2012-01-04  Ingo Weinzierl <ingo@intevation.de>
ingo@2075: 
ingo@2075: 	* src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
ingo@2075: 	  Use correct keys for buffering in getMinimum() and getMaximum().
ingo@2075: 
ingo@2074: 2012-01-04  Ingo Weinzierl <ingo@intevation.de>
ingo@2074: 
ingo@2074: 	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java,
ingo@2074: 	  src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java,
ingo@2074: 	  src/main/java/de/intevation/flys/exports/EnhancedLineAndShapeRenderer.java:
ingo@2074: 	  Moved to de.intevation.flys.jfree.
ingo@2074: 
ingo@2074: 	* src/main/java/de/intevation/flys/jfree/StyledXYSeries.java,
ingo@2074: 	  src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java,
ingo@2074: 	  src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java:
ingo@2074: 	  Moved from de.intevation.flys.exports.
ingo@2074: 
ingo@2074: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
ingo@2074: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
ingo@2074: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@2074: 	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
ingo@2074: 	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
ingo@2074: 	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
ingo@2074: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
ingo@2074: 	  Added necessary imports.
ingo@2074: 
ingo@2073: 2012-01-04  Ingo Weinzierl <ingo@intevation.de>
ingo@2073: 
ingo@2073: 	* src/main/java/de/intevation/flys/exports/EnhancedLineAndShapeRenderer.java:
ingo@2073: 	  Buffered the computation results of getMinimum() and getMaximum().
ingo@2073: 
ingo@2072: 2012-01-04  Ingo Weinzierl <ingo@intevation.de>
ingo@2072: 
ingo@2072: 	flys/issue393 (Themenstileditor: Minimum anzeigen / Beschriftung anzeigen)
ingo@2072: 
ingo@2072: 	* src/main/java/de/intevation/flys/exports/EnhancedLineAndShapeRenderer.java:
ingo@2072: 	  New renderer that overrides JFreeChart's XYLineAndShapeRenderer. This
ingo@2072: 	  renderer brings the option to explicitly display the minimum and/or
ingo@2072: 	  maximum or a series as shape. Currently, there are no options to adjust
ingo@2072: 	  the style of those shapes.
ingo@2072: 
ingo@2072: 	* doc/conf/themes.xml: Added a new virtual theme 'MinMaxPoints'. All line
ingo@2072: 	  theme inherit from that theme now.
ingo@2072: 
ingo@2072: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added methods to
ingo@2072: 	  parse the fields 'showminimum' and 'showmaximum' of 'MinMaxPoints' theme.
ingo@2072: 
ingo@2072: 	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java: Added
ingo@2072: 	  methods to apply the fields of the new Theme 'MinMaxPoints'.
ingo@2072: 
ingo@2072: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Modified
ingo@2072: 	  the getRenderer() method which now always returns a new instance of
ingo@2072: 	  EnhancedLineAndShapeRenderer.
ingo@2072: 
felix@2071: 2011-01-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2071: 
felix@2071: 	Allow styling of outline of areas.
felix@2071: 
felix@2071: 	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
felix@2071: 	  Allow styling of outline of areas.
felix@2071: 	
felix@2071: 	* src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java:
felix@2071: 	  Parse outline style for areas, apply it to renderer.
felix@2071: 
ingo@2070: 2012-01-03  Ingo Weinzierl <ingo@intevation.de>
ingo@2070: 
ingo@2070: 	flys/issue104 (W-INFO: Wasserspiegellagenberechnung / Strecke)
ingo@2070: 
ingo@2070: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Call
ingo@2070: 	  the new flys-backend method Wst.determineMinMaxQFree() to determine the
ingo@2070: 	  min/max Qs at a given kilometer.
ingo@2070: 
felix@2069: 2011-01-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2069: 
felix@2069: 	* doc/conf/themes.xml: Reflect name chnage of longitudinal sections
felix@2069: 	  area artifacts and include ColorLine style for area styles.
felix@2069: 
ingo@2068: 2012-01-02  Ingo Weinzierl <ingo@intevation.de>
ingo@2068: 
ingo@2068: 	flys/issue370 (WINFO: Berechnungsausgabe W/Pegel [cm] fehlt bei Wasserspiegellage und W am Pegel)
ingo@2068: 
ingo@2068: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: New method that
ingo@2068: 	  extracts the double value of a WQ object's name.
ingo@2068: 
ingo@2068: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Adapted
ingo@2068: 	  the header of CSV exports and the content of the "W at gauge" column.
ingo@2068: 
ingo@2068: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java:
ingo@2068: 	  Adapted method signatures that have been changed in WaterlevelExporter.
ingo@2068: 
ingo@2067: 2012-01-02  Ingo Weinzierl <ingo@intevation.de>
ingo@2067: 
ingo@2067: 	* src/main/resources/messages.properties,
ingo@2067: 	  src/main/resources/messages_de_DE.properties,
ingo@2067: 	  src/main/resources/messages_en.properties,
ingo@2067: 	  src/main/resources/messages_de.properties: Added strings used in the CSV
ingo@2067: 	  export.
ingo@2067: 
ingo@2066: 2012-01-02  Ingo Weinzierl <ingo@intevation.de>
ingo@2066: 
ingo@2066: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Check
ingo@2066: 	  if the location of a CSV row is in range of the reference gauge. Write
ingo@2066: 	  "outside reference gauge" into CSV in such cases.
ingo@2066: 
ingo@2065: 2012-01-02  Ingo Weinzierl <ingo@intevation.de>
ingo@2065: 
ingo@2065: 	PART II of flys/issue125 (W-INFO: Wasserspiegellagenberechnung / tabellarische Berechnungsausgabe)
ingo@2065: 
ingo@2065: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Add the
ingo@2065: 	  named main value of a Q and the name of the gauge used for the calculation
ingo@2065: 	  if the WQ mode is "W at gauge" or "Q at gauge".
ingo@2065: 
ingo@2065: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java:
ingo@2065: 	  Adapted the method signatures that have been modified in
ingo@2065: 	  WaterlevelExporter.
ingo@2065: 
ingo@2064: 2012-01-02  Ingo Weinzierl <ingo@intevation.de>
ingo@2064: 
ingo@2064: 	* src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java,
ingo@2064: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@2064: 	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
ingo@2064: 	  src/main/java/de/intevation/flys/exports/AxisSection.java,
ingo@2064: 	  src/main/java/de/intevation/flys/exports/ExportSection.java,
ingo@2064: 	  src/main/java/de/intevation/flys/exports/LegendSection.java,
ingo@2064: 	  src/main/java/de/intevation/flys/exports/ChartSection.java: Removed
ingo@2064: 	  unused imports.
ingo@2064: 
ingo@2063: 2012-01-02  Ingo Weinzierl <ingo@intevation.de>
ingo@2063: 
ingo@2063: 	PART I of flys/issue125 (W-INFO: Wasserspiegellagenberechnung / tabellarische Berechnungsausgabe)
ingo@2063: 
ingo@2063: 	* doc/conf/cache.xml: Registered a new Cache for the LocationProvider.
ingo@2063: 
ingo@2063: 	* src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java:
ingo@2063: 	  New. This class is able to return the description of a location based on a
ingo@2063: 	  river and kilometer parameter. The LocationProvider stores single
ingo@2063: 	  locations into a Cache if one is configured for this class.
ingo@2063: 
ingo@2063: 	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java:
ingo@2063: 	  Added a method that returns a single Annotation for a specific kilometer and
ingo@2063: 	  river.
ingo@2063: 
ingo@2063: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method
ingo@2063: 	  getLocationDescription() that might be used to determine the description
ingo@2063: 	  of a specified kilometer for a given river.
ingo@2063: 
ingo@2063: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Make use
ingo@2063: 	  of FLYSUtils.getLocationDescription() to add a new column that contains
ingo@2063: 	  the location description.
ingo@2063: 
ingo@2062: 2011-12-29  Ingo Weinzierl <ingo@intevation.de>
ingo@2062: 
ingo@2062: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Write
ingo@2062: 	  min/max values for free Qs into Artifact's DESCRIBE document.
ingo@2062: 
ingo@2061: 2011-12-28  Ingo Weinzierl <ingo@intevation.de>
ingo@2061: 
ingo@2061: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Fixed
ingo@2061: 	  broken order to determine the step width of Qs and Ws.
ingo@2061: 
ingo@2060: 2011-12-28  Ingo Weinzierl <ingo@intevation.de>
ingo@2060: 
ingo@2060: 	flys/issue104 (W-INFO: Wasserspiegellagenberechnung / Strecke)
ingo@2060: 
ingo@2060: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
ingo@2060: 	  Validate user defined free Q values.
ingo@2060: 
ingo@2059: 2011-12-28  Ingo Weinzierl <ingo@intevation.de>
ingo@2059: 
ingo@2059: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
ingo@2059: 	  Compute better step width based on a maximal number of steps = 30.
ingo@2059: 	  Results with digits are rounded up. E.g.:
ingo@2059: 	    Q range = 9.6 - 1750
ingo@2059: 	    Step width = 58.01
ingo@2059: 	    Rounded result = 60
ingo@2059: 
ingo@2058: 2011-12-27  Ingo Weinzierl <ingo@intevation.de>
ingo@2058: 
ingo@2058: 	* src/main/java/de/intevation/flys/exports/AxisSection.java,
ingo@2058: 	  src/main/java/de/intevation/flys/exports/LegendSection.java,
ingo@2058: 	  src/main/java/de/intevation/flys/exports/ChartSection.java: Subclasses
ingo@2058: 	  TypeSection to be able to use convinience methods for string, integer,
ingo@2058: 	  double and boolean values.
ingo@2058: 
ingo@2057: 2011-12-27  Ingo Weinzierl <ingo@intevation.de>
ingo@2057: 
ingo@2057: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: The
ingo@2057: 	  getSize() method now returns null if no width and height is specified in
ingo@2057: 	  the request document or if width/height <= 0. It no longer returns the
ingo@2057: 	  result of getDefaultSize().
ingo@2057: 
ingo@2057: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Set the
ingo@2057: 	  size of a chart export to the size specified in the ChartSettings if
ingo@2057: 	  there are no valid values in the request document.
ingo@2057: 
ingo@2057: 	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: Set the
ingo@2057: 	  chart size to ChartGenerator.getDefaultSize() if no valid values are
ingo@2057: 	  returned by ChartGenerator.getSize(). This has been done autoamtically
ingo@2057: 	  before.
ingo@2057: 
ingo@2056: 2011-12-27  Ingo Weinzierl <ingo@intevation.de>
ingo@2056: 
ingo@2056: 	* src/main/java/de/intevation/flys/exports/TypeSection.java: New. This
ingo@2056: 	  Section defines some convinience methods to add/set string, integer,
ingo@2056: 	  double and boolean values.
ingo@2056: 
ingo@2056: 	* src/main/java/de/intevation/flys/exports/ExportSection.java: New.
ingo@2056: 	  Subclasses TypeSection. The ExportSection currently offers attributes
ingo@2056: 	  'width' and 'height'.
ingo@2056: 
ingo@2056: 	* src/main/java/de/intevation/flys/exports/ChartSettings.java: Added
ingo@2056: 	  getter/setter methods to support an ExportSection.
ingo@2056: 
ingo@2056: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Create an
ingo@2056: 	  ExportSection while initial ChartSettings creation.
ingo@2056: 
ingo@2055: 2011-12-27  Ingo Weinzierl <ingo@intevation.de>
ingo@2055: 
ingo@2055: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added and
ingo@2055: 	make use of a new method createLegendLabelFont() to create unified Fonts for
ingo@2055: 	LegendItems. This method considers the user defined size for LegendItems.
ingo@2055: 
ingo@2054: 2011-12-27  Ingo Weinzierl <ingo@intevation.de>
ingo@2054: 
ingo@2054: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@2054: 	  Implemented adjustAxes(). This method now sets the label Font of the X
ingo@2054: 	  axis. Its size is determined by getXAxisLabelFontSize().
ingo@2054: 
ingo@2053: 2011-12-27  Ingo Weinzierl <ingo@intevation.de>
ingo@2053: 
ingo@2053: 	* src/main/java/de/intevation/flys/exports/AxisSection.java: Added method
ingo@2053: 	  getFontSize() to retrieve the font size for an axis.
ingo@2053: 
ingo@2053: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@2053: 	  Modified createYAxis(int): call super.createYAxis(int) and adjust
ingo@2053: 	  necessary settings - no Axis creation takes place here.
ingo@2053: 
ingo@2053: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added
ingo@2053: 	  getXAxisLabelFontSize() and getYAxisLabelFontSize(int) to retrieve the
ingo@2053: 	  user defined font size for an axis. The getYAxisLabelFontSize() is used in
ingo@2053: 	  createYAxis(int) to set the font size for axes labels.
ingo@2053: 
ingo@2052: 2011-12-27  Ingo Weinzierl <ingo@intevation.de>
ingo@2052: 
ingo@2052: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
ingo@2052: 	  Override getYAxisWalker().
ingo@2052: 
ingo@2052: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Create new
ingo@2052: 	  instances of IdentifiableNumberAxis in createYAxis(int) default
ingo@2052: 	  implementation.
ingo@2052: 
ingo@2051: 2011-12-27  Ingo Weinzierl <ingo@intevation.de>
ingo@2051: 
ingo@2051: 	* src/main/java/de/intevation/flys/exports/AxisSection.java: Added
ingo@2051: 	  getLabel() to retrieve the axis label.
ingo@2051: 
ingo@2051: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
ingo@2051: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
ingo@2051: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@2051: 	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
ingo@2051: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
ingo@2051: 	  Override getDefaultXAxisLabel() and getDefaultYAxisLabel() defined in
ingo@2051: 	  XYChartGenerator.
ingo@2051: 
ingo@2051: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Implement
ingo@2051: 	  getXAxisLabel() and getYAxisLabel(int). Both methods search for an axis
ingo@2051: 	  label defined in the ChartSettings first. If no label is specified or if
ingo@2051: 	  no ChartSettings is set, getDefaultXAxisLabel() or
ingo@2051: 	  getDefaultYAxisLabel(int) is called to retrieve the initial/default axis
ingo@2051: 	  label.
ingo@2051: 
ingo@2050: 2011-12-27  Ingo Weinzierl <ingo@intevation.de>
ingo@2050: 
ingo@2050: 	* src/main/java/de/intevation/flys/exports/ChartSettings.java: Modified the
ingo@2050: 	  signature of addAxisSection(). This method now accepts AxisSections only.
ingo@2050: 	  In addition, there is a new method getAxisSection(String) that returns an
ingo@2050: 	  AxisSection specified by its identifier.
ingo@2050: 
ingo@2050: 	* src/main/java/de/intevation/flys/exports/AxisSection.java: Added new
ingo@2050: 	  methods getIdentifier(), isFixed(), getUpperRange() and getLowerRange() to
ingo@2050: 	  retrieve the attributes supported by this Section.
ingo@2050: 
ingo@2050: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Make use
ingo@2050: 	  of axes ranges specified in ChartSettings if an axis is fixed.
ingo@2050: 
ingo@2049: 2011-12-23  Ingo Weinzierl <ingo@intevation.de>
ingo@2049: 
ingo@2049: 	* src/main/java/de/intevation/flys/exports/IdentifiableNumberAxis.java: New.
ingo@2049: 	  Subclasses JFreeChart's NumberAxis and offers a getId() method which
ingo@2049: 	  returns an identifiable key.
ingo@2049: 
ingo@2049: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Implements
ingo@2049: 	  a createNumberAxis() method that should be used by all subclasses to
ingo@2049: 	  create new axes. This method returns an instance of IdentifiableNumberAxis
ingo@2049: 	  which is required for zooming.
ingo@2049: 
ingo@2049: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
ingo@2049: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@2049: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
ingo@2049: 	  Create new NumberAxis instances by using XYChartGenerator.createNumberAxis().
ingo@2049: 
ingo@2048: 2011-12-23  Ingo Weinzierl <ingo@intevation.de>
ingo@2048: 
ingo@2048: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@2048: 	  Implemented the methods getChartTitle() and getChartSubtitle(). Both
ingo@2048: 	  methods try to get the required information from ChartSettings. If no
ingo@2048: 	  ChartSettings is set for this OutGenerator, these methods will call
ingo@2048: 	  getDefaultChartTitle() and getDefaultChartSubtitle().
ingo@2048: 
ingo@2048: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
ingo@2048: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
ingo@2048: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@2048: 	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
ingo@2048: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
ingo@2048: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
ingo@2048: 	  Renamed getChartTitle() and getChartSubtitle() to
ingo@2048: 	  getDefaultChartTitle() and getDefaultChartSubtitle(). In addition, the
ingo@2048: 	  methods addSubtitles() became more robust - these OutGenerators add
ingo@2048: 	  subtitles only if the subtitle is not empty.
ingo@2048: 
ingo@2047: 2011-12-23  Ingo Weinzierl <ingo@intevation.de>
ingo@2047: 
ingo@2047: 	* src/main/java/de/intevation/flys/exports/OutGenerator.java: Added a
ingo@2047: 	  setSettings(Settings) method.
ingo@2047: 
ingo@2047: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@2047: 	  Call OutGenerator.setSettings() before calling doOut() for each Facet.
ingo@2047: 
ingo@2047: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Implemented
ingo@2047: 	  setSettings() and added convinience methods to access chart specific
ingo@2047: 	  settings.
ingo@2047: 
ingo@2047: 	* src/main/java/de/intevation/flys/exports/MapGenerator.java,
ingo@2047: 	  src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java,
ingo@2047: 	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
ingo@2047: 	  src/main/java/de/intevation/flys/exports/ATExporter.java,
ingo@2047: 	  src/main/java/de/intevation/flys/exports/ReportGenerator.java: Implemented
ingo@2047: 	  setSettings().
ingo@2047: 
ingo@2047: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@2047: 	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Make use
ingo@2047: 	  of the attributes specified in the Settings: the title, subtitle,
ingo@2047: 	  displayGrid and displayLegend settings are functional now.
ingo@2047: 
ingo@2046: 2011-12-23  Ingo Weinzierl <ingo@intevation.de>
ingo@2046: 
ingo@2046: 	* src/main/java/de/intevation/flys/exports/ChartSettings.java,
ingo@2046: 	  src/main/java/de/intevation/flys/exports/LegendSection.java,
ingo@2046: 	  src/main/java/de/intevation/flys/exports/ChartSection.java: Use more
ingo@2046: 	  concrete classes than Settings and Section in these classes to avoid a lot
ingo@2046: 	  of castings.
ingo@2046: 
ingo@2045: 2011-12-22  Ingo Weinzierl <ingo@intevation.de>
ingo@2045: 
ingo@2045: 	flys/issue242 (W-INFO: Fehlende Header in Datenexporten)
ingo@2045: 
ingo@2045: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added functions
ingo@2045: 	  getQs(), getWs(), getGauge(), getGaugename() and getRivername() that all
ingo@2045: 	  take a parameter FLYSArtifact.
ingo@2045: 
ingo@2045: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Moved the
ingo@2045: 	  implementation of getGauge() to FLYSUtils. The getGauge() in this class
ingo@2045: 	  just calls and returns FLYSUtils.getGauge().
ingo@2045: 
ingo@2045: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Write a
ingo@2045: 	  header into a CSV export containing meta information about this export.
ingo@2045: 
ingo@2045: 	* src/main/resources/messages.properties,
ingo@2045: 	  src/main/resources/messages_de_DE.properties,
ingo@2045: 	  src/main/resources/messages_en.properties,
ingo@2045: 	  src/main/resources/messages_de.properties: Added strings used in the CSV
ingo@2045: 	  export as header.
ingo@2045: 
felix@2044: 2011-12-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2044: 
felix@2044: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
felix@2044: 	  (getKm): Removed, not called anymore.
felix@2044: 
felix@2043: 2011-12-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2043: 
felix@2043: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
felix@2043: 	  Include km of cross-section-master in diagrams subtitle (fetched
felix@2043: 	  from 'blackboard'.
felix@2043: 
felix@2041: 2011-12-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2041: 
felix@2041: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java:
felix@2041: 	  Cosmetics, docs.
felix@2041: 
felix@2040: 2011-12-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2040: 
felix@2040: 	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java
felix@2040: 	  (getInitialFacetActivity): Only newest CrossSection is initially
felix@2040: 				     active.
felix@2040: 
felix@2039: 2011-12-22	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2039: 
felix@2039: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java
felix@2039: 	  (isNewest): New, query whether a CrossSection is the newest for its
felix@2039: 		      river, doc.
felix@2039: 
ingo@2038: 2011-12-21  Ingo Weinzierl <ingo@intevation.de>
ingo@2038: 
ingo@2038: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
ingo@2038: 	  convinience method to retrieve the value of an data object stored at
ingo@2038: 	  FLYSArtifact as Boolean value.
ingo@2038: 
ingo@2038: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method that
ingo@2038: 	  returns the named value of a given double value. This method returns only
ingo@2038: 	  the named value, if the WQ mode is "Q at gauge" and if the value fits to a
ingo@2038: 	  named value. In addition to this method, there is a new method to retrieve
ingo@2038: 	  the selected WQ mode as 'WQ_MODE' enum.
ingo@2038: 
ingo@2038: 	* src/main/java/de/intevation/flys/exports/AbstractExporter.java:
ingo@2038: 	  Removed prepareData() and its call. The data preparation had a bad side
ingo@2038: 	  effect: the modifications are "persisted" into cache, which has again bad
ingo@2038: 	  side effects.
ingo@2038: 
ingo@2038: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Removed
ingo@2038: 	  prepareData(). The label creation for columns in the WST export will now
ingo@2038: 	  take place in addWSTColumn(). With help of the master Artifact (I forgot
ingo@2038: 	  this Artifact in my last commit) we are able to replace Q values with
ingo@2038: 	  their named main value.
ingo@2038: 
felix@2037: 2011-12-21	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2037: 
felix@2037: 	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
felix@2037: 	  Cover 'locations' case for initial km of cross section artifacts.
felix@2037: 
felix@2036: 2011-12-21	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2036: 
felix@2036: 	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
felix@2036: 	  (initialize): Eat ld_from from master artifact.
felix@2036: 	  (setup): Set cross_section.km to either masters km or the lowest
felix@2036: 		   defined cross-section line, whatever is bigger.
felix@2036: 
ingo@2035: 2011-12-21  Ingo Weinzierl <ingo@intevation.de>
ingo@2035: 
ingo@2035: 	flys/issue252 (W-INFO: Wasserspiegellagenberechnung / Mitf�hrung der J�hrlichkeiten in der Diagramm-/Ergbnisausgabe)
ingo@2035: 
ingo@2035: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function
ingo@2035: 	  stripNamedMainValue(). The result of this function is a named main value's
ingo@2035: 	  base name without declaration of a year.
ingo@2035: 
ingo@2035: 	* src/main/java/de/intevation/flys/exports/AbstractExporter.java: Added a
ingo@2035: 	  method pepareData() that is called in doOut() before the data supported by
ingo@2035: 	  the current Facet is added using addData().
ingo@2035: 
ingo@2035: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Override
ingo@2035: 	  the prepareData() method to reset the name of WQKms objects. The Qs in a
ingo@2035: 	  waterlevel export should be the Q value or the named main value if the
ingo@2035: 	  value fits to a named main value.
ingo@2035: 
felix@2034: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2034: 
felix@2034: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@2034: 	  Survive cases where the first dataset has an area-renderer assigned.
felix@2034: 
felix@2034: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2034: 
felix@2034: 	* src/main/java/de/intevation/flys/artifacts/AreaArtifact.java:
felix@2034: 	  Store additional parameter (whether or not to fill everything in
felix@2034: 	  between two curves.)
felix@2034: 
felix@2034: 	* src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java:
felix@2034: 	  Deliver additional info from artifact.
felix@2034: 
felix@2034: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
felix@2034: 	  Evaluate new parameter.
felix@2034: 
felix@2032: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2032: 
felix@2032: 	* doc/conf/themes.xml: Add transparency setting to area theme style.
felix@2032: 
felix@2032: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Helper to
felix@2032: 	  access transparency setting in theme.
felix@2032: 	
felix@2032: 	* src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java:
felix@2034: 	  Respect transparency setting.
felix@2032: 
felix@2031: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2031: 
felix@2031: 	* src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java:
felix@2031: 	  Subclass BlackboardDataFacet to provide data for area calculation.
felix@2031: 
felix@2031: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@2031: 	  Cast data to WKms instead of WQKms.
felix@2031: 
ingo@2030: 2011-12-20  Ingo Weinzierl <ingo@intevation.de>
ingo@2030: 
ingo@2030: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
ingo@2030: 	  Use a ';' as seperator between Qs and Ws.
ingo@2030: 
felix@2029: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2029: 
felix@2029: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java
felix@2029: 	  (doOut, doArea): Added handling for areafacets. Code yet mostly
felix@2029: 			   copied from CrossSectionGenerator.
felix@2029: 
felix@2028: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2028: 
felix@2028: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
felix@2028: 	  Refactoring, subclass BlackboardDataFacet, remove duplicate code.
felix@2028: 
felix@2027: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2027: 
felix@2027: 	Cosmetics.
felix@2027: 
felix@2027: 	* doc/conf/artifacts/winfo.xml,
felix@2027: 	  src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@2027: 	  Renamed facet for consistency reasons.
felix@2027: 
felix@2026: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2026: 
felix@2026: 	Make Waterlevelfacet deliver data via blackbord.
felix@2026: 
felix@2026: 	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java:
felix@2026: 	  Subclass BlackboardDataFacet.
felix@2026: 
ingo@2025: 2011-12-20  Ingo Weinzierl <ingo@intevation.de>
ingo@2025: 
ingo@2025: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
ingo@2025: 	  Create all formatted string labels for Ws and Qs in this class, because
ingo@2025: 	  this class is the only instance that knows that there are double values
ingo@2025: 	  to format.
ingo@2025: 
felix@2024: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2024: 
felix@2024: 	Introduced new Facet that will deliver whatever getData returns via
felix@2024: 	blackbord under key which is defined by convention. Attention, the
felix@2024: 	data is not cached if handled this way.
felix@2024: 
felix@2024: 	* src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java:
felix@2024: 	  New facet, will be useful for easing implementation of facets that
felix@2024: 	  can contribute to area-computations.
felix@2024: 
felix@2023: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2023: 
felix@2023: 	* src/main/java/de/intevation/flys/exports/VisibleAttribute.java:
felix@2023: 	  Removed obsolete imports.
felix@2023: 
felix@2022: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2022: 
felix@2022: 	Removed obsolete imports.
felix@2022: 
felix@2022: 	* src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java,
felix@2022: 	  src/main/java/de/intevation/flys/artifacts/AreaArtifact.java,
felix@2022: 	  src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java,
felix@2022: 	  src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java,
felix@2022: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@2022: 	  Removed obsolete imports.
felix@2022: 
felix@2021: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2021: 
felix@2021: 	With StableXYDifferenceRenderer, create legend items in rectangular
felix@2021: 	form, to discern "line" from "area" in legend.
felix@2021: 
felix@2021: 	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java
felix@2021: 	  (legendLine, legendShape): Renamed.
felix@2021: 	  (getLegendItem): Create LegendItem with fill, use PositivePaint for
felix@2021: 			   that.
felix@2021: 
felix@2020: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2020: 
felix@2020: 	Added further 'area' infrastructure.
felix@2020: 
felix@2020: 	* src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java:
felix@2020: 	  New, "area dataset".
felix@2020: 
felix@2020: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java
felix@2020: 	  (doOut): Use helper to decide if facet is an 'area' facet.
felix@2020: 	  (doArea): Construct StyledAreaSeriesCollection instead of two
felix@2020: 		    dataseries.
felix@2020: 
felix@2020: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@2020: 	  (AxisDataset.isArea): Distinguish area datasets with instanceof.
felix@2020: 	  (AxisDataset.addArea): New. Replaces addAreaDataset.
felix@2020: 	  (addAreaSeries): Simplified with new custom SeriesCollection.
felix@2020: 	  (applyTheme): Register and style StableXYDifferenceRenderer for
felix@2020: 			StyledAreaSeriesCollections.
felix@2020: 	  Added various TODOs and debug output to stabilize development.
felix@2020: 
felix@2020: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2020: 
felix@2020: 	* doc/conf/artifacts/winfo.xml: Added facets to compatibility
felix@2020: 	  matrices.
felix@2020: 
felix@2020: 	* doc/conf/themes.xml: Added Area theme defaults.
felix@2020: 
felix@2018: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2018: 
felix@2018: 	Lay ground for having areas in longitudinal section diagrams, too.
felix@2018: 	This is done by different naming of the facets.
felix@2018: 
felix@2018: 	* src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java:
felix@2018: 	  Make the name dynamic.
felix@2018: 
felix@2018: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@2018: 	  Added further facet types, helper.
felix@2018: 
felix@2018: 	* src/main/java/de/intevation/flys/artifacts/AreaArtifact.java:
felix@2018: 	  Store name for facets in data item, restrict access to some fields.
felix@2018: 
felix@2018: 	* src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java:
felix@2018: 	  Use AreaArtifacts data item to use name for facets.
felix@2018: 
felix@2017: 2011-12-20	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2017: 
felix@2017: 	Cosmetics.
felix@2017: 
felix@2017: 	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java,
felix@2017: 	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java,
felix@2017: 	  src/main/java/de/intevation/flys/exports/StyledXYSeries.java:
felix@2017: 	  Doc.
felix@2017: 
felix@2017: 	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
felix@2017: 	  src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java,
felix@2017: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
felix@2017: 	  Whitespace.
felix@2017: 
felix@2017: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Doc and
felix@2017: 	  whitespace.
felix@2017: 
felix@2016: 2011-12-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2016: 
felix@2016: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java
felix@2016: 	  (parseBoolean): New, extracted, updated callers.
felix@2016: 	  (parseFillColorField, parseShowBorder): New, for area styles.
felix@2016: 
ingo@2015: 2011-12-19  Ingo Weinzierl <ingo@intevation.de>
ingo@2015: 
ingo@2015: 	flys/issue202 (W-INFo: Wasserspiegellagenberechnung / Vorbelegung Strecke)
ingo@2015: 
ingo@2015: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@2015: 	  Added a system property which is used to determine, if the DESCRIBE
ingo@2015: 	  document of an Artifact should include default values (values, that have
ingo@2015: 	  been inserted by the user some time ago) or not. The default case is,
ingo@2015: 	  that the DESCRIBE does NOT include default values. To enable default
ingo@2015: 	  values, set "flys.use.default.values" to "true".
ingo@2015: 
ingo@2014: 2011-12-19  Ingo Weinzierl <ingo@intevation.de>
ingo@2014: 
ingo@2014: 	flys/issue419 (Themen-Name "Q(null)" bei W bei ungl. A.)
ingo@2014: 
ingo@2014: 	* src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java:
ingo@2014: 	  Use correct variable to create Facet names.
ingo@2014: 
ingo@2013: 2011-12-19  Ingo Weinzierl <ingo@intevation.de>
ingo@2013: 
ingo@2013: 	flys/issue380 (W-INFO / �berschwemmungskarte, falsches DGM)
ingo@2013: 
ingo@2013: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
ingo@2013: 	  convinience method that returns a parameter of FLYSArtifact as Integer.
ingo@2013: 
ingo@2013: 	* src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java: Override
ingo@2013: 	  validate() to determine, if the DGM selected by the user is valid for the
ingo@2013: 	  current calculation range and river.
ingo@2013: 
felix@2012: 2011-12-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2012: 
felix@2012: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
felix@2012: 	  Roll-back accidentally committed changes.
felix@2012: 
felix@2011: 2011-12-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2011: 
felix@2011: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java
felix@2011: 	  (doOut): Hide 'invisible' (deleted) themes from Outgenerators.
felix@2011: 
felix@2010: 2011-12-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2010: 
felix@2010: 	Added area.name data item and access to areaartifact.
felix@2010: 
felix@2010: 	* src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java:
felix@2010: 	  Rephrased debug output, do survive case where only one curve is
felix@2010: 	  given for area calculation (this is the "above" or "under" case).
felix@2010: 
felix@2010: 	* src/main/java/de/intevation/flys/artifacts/AreaArtifact.java
felix@2010: 	  (getAreaName): Access "area.name" data item.
felix@2010: 
felix@2010: 	* src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java:
felix@2010: 	  Respect area.name data of artifact when reproducing facets.
felix@2010: 
felix@2009: 2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2009: 
felix@2009: 	* doc/conf/conf.xml: Fix, accidentally added wrong factory in last
felix@2009: 	                     commit.
felix@2009: 
felix@2009: 2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2009: 
felix@2009: 	* doc/conf/conf.xml: Register area artifact factory.
felix@2009: 
felix@2007: 2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2007: 
felix@2007: 	* doc/conf/artifacts/winfo.xml: Added area artifacts to cross-section
felix@2007: 	  compatibility matrix.
felix@2007: 
felix@2006: 2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2006: 
felix@2006: 	Add area dataseries when facet delivering one.
felix@2006: 
felix@2006: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java
felix@2006: 	  (doOut): Handle area facets.
felix@2006: 	  (doArea): Register areas for area facets.
felix@2006: 
felix@2005: 2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2005: 
felix@2005: 	Add simple area registerig functions.
felix@2005: 
felix@2005: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@2005: 	  (AxisDataset.addAreaDataset): New, add an area dataset.
felix@2005: 	  (AxisDataset.isArea): New.
felix@2005: 	  (addAreaSeries): New. Add Area Dataset.
felix@2005: 	  (applyThemes): Pass info if we have an area, to set different
felix@2005: 			 renderer.
felix@2005: 
felix@2004: 2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2004: 
felix@2004: 	* src/main/java/de/intevation/flys/artifacts/states/StaticState.java:
felix@2004: 	  Added convenience function and easy sybclassing.
felix@2004: 
felix@2003: 2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2003: 
felix@2003: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@2003: 	  Register AREA ("area") facet type.
felix@2003: 
felix@2002: 2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2002: 
felix@2002: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java,
felix@2002: 	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
felix@2002: 	  Register blackboard key uuid+index and respond with data to it, as
felix@2002: 	  assumed by the areaartifact and facet.
felix@2002: 
felix@2001: 2011-12-16	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@2001: 
felix@2001: 	Added partial area-infrastructure.
felix@2001: 
felix@2001: 	* src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java,
felix@2001: 	  src/main/java/de/intevation/flys/artifacts/AreaArtifact.java,
felix@2001: 	  src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java:
felix@2001: 	  New artifact, facet and state for area rendering.
felix@2001: 
ingo@2000: 2011-12-16  Ingo Weinzierl <ingo@intevation.de>
ingo@2000: 
ingo@2000: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Defined an
ingo@2000: 	  interface YAxisWalker that allows to walk over each Y axis definition in
ingo@2000: 	  subclasses. This walker can be retrieved using the new getYAxisWalker()
ingo@2000: 	  method. The AxisSections are built in this class now.
ingo@2000: 
ingo@2000: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@2000: 	  Implemented the YAxisWalker interface and the getYAxisWalker() method.
ingo@2000: 	  Removed the code to build AxisSections.
ingo@2000: 
ingo@2000: 	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
ingo@2000: 	  Implemented getYAxisLabel(int pos) and getYAxisWalker().
ingo@2000: 
ingo@2000: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
ingo@2000: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
ingo@2000: 	  Implemented the getYAxisWalker() method.
ingo@2000: 
ingo@1999: 2011-12-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1999: 
ingo@1999: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1999: 	  Some optimizations during out() operation - the CollectionAttribute is
ingo@1999: 	  parsed a single time now (*i guess*). This code really needs some
ingo@1999: 	  refactoring!
ingo@1999: 
ingo@1998: 2011-12-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1998: 
ingo@1998: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1998: 	  Added an INFO message that displays the duration time for the out()
ingo@1998: 	  operation.
ingo@1998: 
ingo@1997: 2011-12-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1997: 
ingo@1997: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@1997: 	  Calls super.buildAxisSections().
ingo@1997: 
ingo@1997: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@1997: 	  Implemented the method buildAxisSections(). The result list will contain
ingo@1997: 	  an AxisSection for the X axis.
ingo@1997: 
ingo@1996: 2011-12-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1996: 
ingo@1996: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: Bugfix:
ingo@1996: 	  Add new Outputs to the current CollectionAttribute if no old one is
ingo@1996: 	  existing.
ingo@1996: 
sascha@1995: 2011-12-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1995: 
sascha@1995: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
sascha@1995: 	  Directly fetch key/value pairs when writing a collection attribute.
sascha@1995: 
ingo@1994: 2011-12-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1994: 
ingo@1994: 	* src/main/java/de/intevation/flys/exports/ChartSettings.java: Added new
ingo@1994: 	  functions that allow parsing a ChartSettings object from DOM Node.
ingo@1994: 
ingo@1994: 	* src/main/java/de/intevation/flys/collections/AttributeParser.java: Parse
ingo@1994: 	  the Settings of each Output.
ingo@1994: 
ingo@1993: 2011-12-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1993: 
ingo@1993: 	* src/main/java/de/intevation/flys/collections/CollectionAttribute.java:
ingo@1993: 	  Added a method to set a new Settings object for a specific Output and a
ingo@1993: 	  method to clear the list of Facets of a specific Output.
ingo@1993: 
ingo@1993: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: The
ingo@1993: 	  AttributeWriter no longer creates new CollectionAttributes - it only
ingo@1993: 	  modifies the old CollectionAttribute. At first, it clears the Facets of
ingo@1993: 	  all Outputs. Finally, the merged Facets are added to the Outputs.
ingo@1993: 
ingo@1993: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1993: 	  Added the CollectionAttribute to the AttributeWriters constructor.
ingo@1993: 
ingo@1992: 2011-12-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1992: 
ingo@1992: 	* src/main/java/de/intevation/flys/exports/DoubleAttribute.java: New. An
ingo@1992: 	  Attribute that stores double values.
ingo@1992: 
ingo@1992: 	* src/main/java/de/intevation/flys/exports/AxisSection.java: Added methods
ingo@1992: 	  to set values for 'fixation', 'font-size', 'lower' and 'upper'.
ingo@1992: 
ingo@1992: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@1992: 	  Set new attributes mentioned above for each axis' AxisSection.
ingo@1992: 
ingo@1991: 2011-12-15  Ingo Weinzierl <ingo@intevation.de>
ingo@1991: 
ingo@1991: 	* src/main/java/de/intevation/flys/exports/AxisSection.java: Added methods
ingo@1991: 	  to set the axis label and id.
ingo@1991: 
ingo@1991: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Improved
ingo@1991: 	  the ChartSettings that will now contain a set of AxisSections. The new
ingo@1991: 	  buildAxisSections() method in this class is not implemented and needs to
ingo@1991: 	  be implemented by subclasses.
ingo@1991: 
ingo@1991: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@1991: 	  Override buildAxisSections() of XYChartGenerator to create an AxisSection 
ingo@1991: 	  for each axis that is able to be displayed in this sort of chart. In
ingo@1991: 	  addition, there is a new method getYAxisLabel(int) that returns the label
ingo@1991: 	  for a specific Y axis.
ingo@1991: 
ingo@1990: 2011-12-15  Ingo Weinzierl <ingo@intevation.de>
ingo@1990: 
ingo@1990: 	* src/main/java/de/intevation/flys/exports/IntegerAttribute.java: New.
ingo@1990: 	  Concrete subclass of a DefaultAttribute for storing integer values.
ingo@1990: 
ingo@1990: 	* src/main/java/de/intevation/flys/exports/LegendSection.java: New. A
ingo@1990: 	  concrete Section subclass to store legend specific attributes.
ingo@1990: 
ingo@1990: 	* src/main/java/de/intevation/flys/exports/BooleanAttribute.java,
ingo@1990: 	  src/main/java/de/intevation/flys/exports/StringAttribute.java: Removed
ingo@1990: 	  needless import of org.w3c.dom.Attr.
ingo@1990: 
ingo@1990: 	* src/main/java/de/intevation/flys/exports/ChartSettings.java: ChartSettings
ingo@1990: 	  is able to store a Section for legends now.
ingo@1990: 
ingo@1990: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added
ingo@1990: 	  methods to retrieve the font size of legends and if the legend should be
ingo@1990: 	  visible or not. In addition, the ChartSettings returned by this instance
ingo@1990: 	  will now contain a LegendSection as well.
ingo@1990: 
ingo@1989: 2011-12-15  Ingo Weinzierl <ingo@intevation.de>
ingo@1989: 
ingo@1989: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Introduced
ingo@1989: 	  methods getChartSubtitle() and isGridVisible(). getChartSubtitle() returns
ingo@1989: 	  in this implementation null. Concrete subclasses should override this
ingo@1989: 	  mehtod if they require subtitles in charts. isGridVisible() determines if
ingo@1989: 	  the grid in the chart should be visible or not. This method return always
ingo@1989: 	  true in this implementation.
ingo@1989: 	  In addition, the Settings object returned by getSettings() will now have a
ingo@1989: 	  ChartSection set properly.
ingo@1989: 
ingo@1989: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
ingo@1989: 	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
ingo@1989: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@1989: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
ingo@1989: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
ingo@1989: 	  Override getChartSubtitle().
ingo@1989: 
ingo@1988: 2011-12-15  Ingo Weinzierl <ingo@intevation.de>
ingo@1988: 
ingo@1988: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1988: 	  Prepare the OutGenerator (process each of the Output's Facets) during the
ingo@1988: 	  describe() operation to be able to return an initial Settings object.
ingo@1988: 
ingo@1987: 2011-12-15  Ingo Weinzierl <ingo@intevation.de>
ingo@1987: 
ingo@1987: 	* src/main/java/de/intevation/flys/exports/BooleanAttribute.java,
ingo@1987: 	  src/main/java/de/intevation/flys/exports/VisibleAttribute.java,
ingo@1987: 	  src/main/java/de/intevation/flys/exports/StringAttribute.java: Fixed wrong
ingo@1987: 	  usage of DOM operations.
ingo@1987: 
ingo@1986: 2011-12-14  Ingo Weinzierl <ingo@intevation.de>
ingo@1986: 
ingo@1986: 	* src/main/java/de/intevation/flys/exports/BooleanAttribute.java,
ingo@1986: 	  src/main/java/de/intevation/flys/exports/VisibleAttribute.java,
ingo@1986: 	  src/main/java/de/intevation/flys/exports/StringAttribute.java: New.
ingo@1986: 	  Concrete subclasses of a DefaultAttribute.
ingo@1986: 
ingo@1986: 	* src/main/java/de/intevation/flys/exports/ChartSettings.java,
ingo@1986: 	  src/main/java/de/intevation/flys/exports/AxisSection.java,
ingo@1986: 	  src/main/java/de/intevation/flys/exports/ChartSection.java:
ingo@1986: 	  Implementations for chart settings. WORK IN PROGRESS!
ingo@1986: 
ingo@1986: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Override
ingo@1986: 	  the getSettings() method. The implementation here returns a ChartSettings
ingo@1986: 	  instance.
ingo@1986: 
ingo@1986: 	* src/main/java/de/intevation/flys/exports/EmptySettings.java: Modified the
ingo@1986: 	  node name of the settings ("art:settings" -> "settings").
ingo@1986: 
felix@1985: 2011-12-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1985: 
felix@1985: 	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
felix@1985: 	  Cosmetics, doc.
felix@1985: 
felix@1984: 2011-12-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1984: 
felix@1984: 	Cosmetics.
felix@1984: 
felix@1984: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
felix@1984: 	  Remove needless imports.
felix@1984: 
felix@1983: 2011-12-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1983: 
felix@1983: 	Fix/Guard certain misconditions.
felix@1983: 
felix@1983: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Do
felix@1983: 	  not crash when given null-range.
felix@1983: 
felix@1983: 	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java:
felix@1983: 	  Do not crash when given malformed array.
felix@1983: 
felix@1982: 2011-12-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1982: 
felix@1982: 	Cosmetics.
felix@1982: 
felix@1982: 	* src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java,
felix@1982: 	  ChangeLog: Whitespace cosmetic.
felix@1982: 
felix@1982: 	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
felix@1982: 	  Annotation cosmetic.
felix@1982: 
felix@1982: 	* src/main/java/de/intevation/flys/artifacts/ExternalWMSArtifact.java:
felix@1982: 	  Convenience cosmetic.
felix@1982: 
felix@1982: 	* src/main/java/de/intevation/flys/utils/DataUtil.java: 
felix@1982: 	  vim-magicosmetic.
felix@1982: 
felix@1981: 2011-12-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1981: 
felix@1981: 	Implement new WaterLineArtifact where needed so far.
felix@1981: 
felix@1981: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1981: 	  Declare that we implement WaterLineArtifact.
felix@1981: 
felix@1981: 	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
felix@1981: 	  (getWaterLines): Implement to fulfil new WaterLineArtifact-
felix@1981: 			   interface-impl. Also generate new Facet.
felix@1981: 
felix@1981: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
felix@1981: 	  Do not depend on WINFOArtifacts, but on WaterLineArtifacts instead.
felix@1981: 
felix@1980: 2011-12-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1980: 
felix@1980: 	Added interface WaterLineArtifact to be implemented by artifacts
felix@1980: 	that know how to create a water line "against" a cross section.
felix@1980: 
felix@1980: 	* src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java:
felix@1980: 	  New, straight-forward interface.
felix@1980: 
ingo@1979: 2011-12-14  Ingo Weinzierl <ingo@intevation.de>
ingo@1979: 
ingo@1979: 	* src/main/java/de/intevation/flys/exports/EmptySettings.java: An
ingo@1979: 	  implementation of the Settings interface defined in the artifact-database
ingo@1979: 	  module. This implementation accepts no Section objects at all and creates
ingo@1979: 	  an empty "settings" Node in its toXML() operation.
ingo@1979: 
ingo@1979: 	* src/main/java/de/intevation/flys/exports/OutGenerator.java: Defined a new
ingo@1979: 	  method getSettings() that returns a Settings instance.
ingo@1979: 
ingo@1979: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java,
ingo@1979: 	  src/main/java/de/intevation/flys/exports/ReportGenerator.java,
ingo@1979: 	  src/main/java/de/intevation/flys/exports/MapGenerator.java,
ingo@1979: 	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
ingo@1979: 	  src/main/java/de/intevation/flys/exports/ATExporter.java,
ingo@1979: 	  src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
ingo@1979: 	  Implemented the getSettings() operation. All OutGenerators will currently
ingo@1979: 	  return an instance of EmptySettings.
ingo@1979: 
ingo@1979: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1979: 	  Before the DESCRIBE document is created, we gonna evaluate each Output
ingo@1979: 	  defined in the Collection's attribute document, if it has a Settings
ingo@1979: 	  object set. If this is not the case, the relevant OutGenerator is called
ingo@1979: 	  to retrieve a new instance of Settings.
ingo@1979: 
ingo@1979: 	* src/main/java/de/intevation/flys/collections/CollectionAttribute.java:
ingo@1979: 	  Append the Settings of Outputs to the Output nodes in the XML
ingo@1979: 	  representation.
ingo@1979: 
felix@1978: 2011-12-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1978: 
felix@1978: 	Recommend cross-sections.
felix@1978: 
felix@1978: 	* doc/conf/meta-data.xml: When having a cross-section out, recommend
felix@1978: 	  respective artifacts.
felix@1978: 
felix@1977: 2011-12-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1977: 
felix@1977: 	Register factory for CrossSectionArtifacts.
felix@1977: 
felix@1977: 	* doc/conf/conf.xml: Register CrossSectionArtifact-Factory.
felix@1977: 
ingo@1976: 2011-12-13  Ingo Weinzierl <ingo@intevation.de>
ingo@1976: 
ingo@1976: 	* src/main/java/de/intevation/flys/collections/CollectionAttribute.java:
ingo@1976: 	  New. This class will store the information provided in the Collection's
ingo@1976: 	  attribute (which is a DOM document).
ingo@1976: 
ingo@1976: 	* src/main/java/de/intevation/flys/collections/CollectionDescriptionHelper.java:
ingo@1976: 	  Store an instance of CollectionAttribute and append its XML representation
ingo@1976: 	  to the DESCRIBE document.
ingo@1976: 
ingo@1976: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: Removed
ingo@1976: 	  all DOM operations from this writer. Its new task is to create a new
ingo@1976: 	  CollectionAttribute object which represents a merged version of the old
ingo@1976: 	  CollectionAttribute and the information provided by the Collection's child
ingo@1976: 	  Artifacts.
ingo@1976: 
ingo@1976: 	* src/main/java/de/intevation/flys/collections/AttributeParser.java: The
ingo@1976: 	  result of AttributeParser's parse() operation is a CollectionAttribute
ingo@1976: 	  object now. The methods getOuts() and getFacets() are as of now proxy
ingo@1976: 	  methods that call the relevant methods of CollectionAttribute.
ingo@1976: 
ingo@1976: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1976: 	  Some structural changes in the process to build the attribute Document of
ingo@1976: 	  the Collection's DESCRIBE. We will no longer work with Document during
ingo@1976: 	  this process but with instances of CollectionAttribute.
ingo@1976: 
felix@1975: 2011-12-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1975: 
felix@1975: 	Server-side of newer Cross-Section diagram construction architecture.
felix@1975: 
felix@1975: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java
felix@1975: 	  (searchCrossSectionKmLine, getCrossSectionSnapKm),
felix@1975: 	  (getCrossSectionData): Removed, most functionality contained in
felix@1975: 				 CrossSectionArtifact.
felix@1975: 	  (getWaterLines): Now get CrossSectionLines to calculate water line.
felix@1975: 	 
felix@1975: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
felix@1975: 	  Get a CrossSectionLine from blackboard.
felix@1975: 	
felix@1975: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
felix@1975: 	  Hard TODO, commented out function needed for subtitle to allow
felix@1975: 	  compilation.
felix@1975: 	
felix@1975: 	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java:
felix@1975: 	  Added Empty-Dataset- guard.
felix@1975: 
felix@1974: 2011-12-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1974: 
felix@1974: 	Cosmetics.
felix@1974: 
felix@1974: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1974: 	  Cosmetics.
felix@1974: 
ingo@1973: 2011-12-13  Ingo Weinzierl <ingo@intevation.de>
ingo@1973: 
ingo@1973: 	* src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java,
ingo@1973: 	  src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
ingo@1973: 	  Removed superfluous imports.
ingo@1973: 
ingo@1972: 2011-12-13  Ingo Weinzierl <ingo@intevation.de>
ingo@1972: 
ingo@1972: 	* src/main/java/de/intevation/flys/collections/CollectionDescriptionHelper.java:
ingo@1972: 	  New. This class helps generating the DESCRIBE document of a collection.
ingo@1972: 
ingo@1972: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1972: 	  Moved some of the code to create the DESCRIBE document out to
ingo@1972: 	  CollectionDescriptionHelper.
ingo@1972: 
felix@1971: 2011-12-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1971: 
felix@1971: 	Resolve todo about wrongly named cross sections.
felix@1971: 	Open StaticState to allow that facets survive a compute.
felix@1971: 
felix@1971: 	* src/main/java/de/intevation/flys/artifacts/states/StaticState.java
felix@1971: 	  (computeAdvance, computeFeed, computeInit): Override to call
felix@1971: 						      staticCompute.
felix@1971: 	  (staticCompute): New. Do nothing but be able to be overridden.
felix@1971: 
felix@1971: 	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java
felix@1971: 	  (setup): Fetch facets name from db (resolves todo).
felix@1971: 	  (getCurrentState): override staticstates staticcompute to let
felix@1971: 			     facets survive a compute.
felix@1971: 
ingo@1970: 2011-12-12  Ingo Weinzierl <ingo@intevation.de>
ingo@1970: 
ingo@1970: 	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java,
ingo@1970: 	  src/main/java/de/intevation/flys/wsplgen/WSPLGENCallable.java: Renamed
ingo@1970: 	  JobExecutor to WSPLGENCallable (because it is a Callable now). In addition
ingo@1970: 	  to the call() method which starts the WSPLGEN process, this Callable
ingo@1970: 	  offers a cancelWSPLGEN() method to destroy a running WSPLGEN process.
ingo@1970: 
ingo@1970: 	* src/main/java/de/intevation/flys/wsplgen/WSPLGENFuture.java: A FutureTask
ingo@1970: 	  that overrides cancel(boolean). Before this instance call
ingo@1970: 	  super.cancel(boolean), it executes WSPLGENCallable.cancelWSPLGEN() to kill
ingo@1970: 	  a running WSPLGEN process.
ingo@1970: 
ingo@1970: 	* src/main/java/de/intevation/flys/wsplgen/Scheduler.java: The Scheduler is
ingo@1970: 	  no longer a Runnable. It makes now use of a ScheduledThreadPoolExecutor to
ingo@1970: 	  schedule the incoming WSPLGENJobs. The ScheduledThreadPoolExecutor has a
ingo@1970: 	  fixed number of worker threads that process the jobs. The number is 1 per
ingo@1970: 	  default; it can be modified using a System property "wsplgen.max.threads".
ingo@1970: 
ingo@1970: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: Added
ingo@1970: 	  a string constant SCHEDULER.
ingo@1970: 
ingo@1970: 	* src/main/java/de/intevation/flys/wsplgen/SchedulerSetup.java: A
ingo@1970: 	  LifetimeListener that currently implements the systemUp() method to create
ingo@1970: 	  an instance of Scheduler. After its creation, the Scheduler is put into
ingo@1970: 	  the GlobalContext using FLYSContext.SCHEDULER as key.
ingo@1970: 
ingo@1970: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1970: 	  Fetch the Scheduler from GlobalContext.
ingo@1970: 
ingo@1970: 	* doc/conf/conf.xml: Registered SchedulerSetup as LifetimeListener.
ingo@1970: 
felix@1969: 2011-12-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1969: 
felix@1969: 	* src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java:
felix@1969: 	  (describe): Add data items to StaticFLYSArtifacts describe-doc.
felix@1969: 
felix@1968: 2011-12-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1968: 
felix@1968: 	* src/main/java/de/intevation/flys/artifacts/states/StaticState.java:
felix@1968: 	  (addDefaultChartOutput): Convenienve function to add a chart-output.
felix@1968: 
felix@1968: 2011-12-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1968: 
felix@1968: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java:
felix@1968: 	  Play nice with CrossSectionArtifact. Employ blackboard.
felix@1968: 
felix@1968: 	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
felix@1968: 	  Spawn a CrossSectionFacet, handle various data.
felix@1968: 
felix@1968: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
felix@1968: 	  Do not produce CrossSectionFacets anymore, these now "belong" to
felix@1968: 	  CrossSectionArtifacts.
felix@1968: 
felix@1966: 2011-12-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1966: 
felix@1966: 	* doc/conf/cache.xml: Added cross_sections cache.
felix@1966: 
felix@1965: 2011-12-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1965: 
felix@1965: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java:
felix@1965: 	  (getCrossSection, getCrossSectionUncached): New, access specific
felix@1965: 	  CrossSection, employ caching.
felix@1965: 
felix@1964: 2011-12-09	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1964: 
felix@1964: 	* src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java:
felix@1964: 	  New artifact to handle cross-section access.
felix@1964: 
raimund@1963: 2011-12-09  Raimund Renkert <raimund.renkert@intevation.de>
raimund@1963: 
raimund@1963: 	Issue 413.
raimund@1963: 
raimund@1963: 	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java:
raimund@1963: 	  Apply point size from theme attribute linewidth.
raimund@1963: 
felix@1962: 2011-12-08	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1962: 
felix@1962: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java,
felix@1962: 	  src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java,
felix@1962: 	  src/main/java/de/intevation/flys/exports/OutGenerator.java,
felix@1962: 	  src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
felix@1962: 	  Cosmetics.
felix@1962: 
felix@1961: 2011-12-08	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1961: 
felix@1961: 	* src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java:
felix@1961: 	  Documentation added, let a value be its own neighbour (distance 0).
felix@1961: 
felix@1961: 2011-12-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1960: 
sascha@1960: 	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
sascha@1960: 	  Added "Bezugslinie" to list of calculation alternatives.
sascha@1960: 
sascha@1960: 	* src/main/resources/messages.properties,
sascha@1960: 	  src/main/resources/messages_de_DE.properties,
sascha@1960: 	  src/main/resources/messages_de.properties: Added I18N.
sascha@1960: 
felix@1959: 2011-12-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1959: 
felix@1959: 	Further flys/issue420 fix (No Discharge Curves for Mosel).
felix@1959: 
felix@1959: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1959: 	  (includeYRange, mergeRanges): Moved NaN-guard to lowest level.
felix@1959: 	  (combineXRanges): Also NaN guard the X Axis extent.
felix@1959: 
felix@1958: 2011-12-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1958: 
felix@1958: 	Partial fix for flys/issue420 (Berechnete Abflusskurve: Kein Diagramm f�r
felix@1958: 	Mosel). Protect axis extent calculation from empty or invalid
felix@1958: 	datasets.
felix@1958: 
felix@1958: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1958: 	  (includeRange, includeYRange): Renamed, updated callers.
felix@1958: 	  (includeYRange): Protect from merging extent with NaNs.
felix@1958: 	  (debugDatasets): Be more verbose on the datasets.
felix@1958: 	  (zoom): Doc.
felix@1958: 
felix@1957: 2011-12-06	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1957: 
felix@1957: 	Fix flys/issue423 (Diagramm: Hauptwerte bei Abflusskurve am Pegel
felix@1957: 	werden an Y-Achse nicht angezeigt) - show not "raw" (vs interpolated)
felix@1957: 	values at Gauge.
felix@1957: 
felix@1957: 	* src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java,
felix@1957: 	  src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java:
felix@1957: 	  Add parameterization to let facet know whether to fetch data at
felix@1957: 	  Gauges or at Artifacts position.
felix@1957: 
felix@1957: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1957: 	  Let the MainValueFacets know whether to ask for interpolated
felix@1957: 	  MainValues; (do not interpolate for Gauges Main Values).
felix@1957: 	  (getMainValuesQ, getMainValuesW): Added parameter to control
felix@1957: 					    interpolation.
felix@1957: 
ingo@1956: 2011-12-05  Ingo Weinzierl <ingo@intevation.de>
ingo@1956: 
ingo@1956: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Modified
ingo@1956: 	  prefix constants for Mapserver layers and renamed constants (which have
ingo@1956: 	  been postfixes before).
ingo@1956: 
ingo@1956: 	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: Adjusted
ingo@1956: 	  usage of Mapserver constants to the changes described above.
ingo@1956: 
ingo@1955: 2011-12-05  Ingo Weinzierl <ingo@intevation.de>
ingo@1955: 
ingo@1955: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1955: 	  Bugfix: Evaluate the correct parameter whether to set the floodplain or
ingo@1955: 	  not. In addition, the scenario parameter used by WSPLGEN is now set
ingo@1955: 	  correctly.
ingo@1955: 
felix@1957: >>>>>>> .r3356
felix@1954: 2011-12-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1954: 
felix@1954: 	Allow longitudinal_section.q facets in wdiff states output.
felix@1954: 
felix@1954: 	* doc/conf/artifacts/winfo.xml: Added longitudinal_section.q facets
felix@1954: 	  to w-diff states out compatibility- matrix.
felix@1954: 
felix@1953: 2011-12-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1953: 
felix@1953: 	Refactored Longitudinal*/WDiff-*Generator hierarchy and change axis
felix@1953: 	ordering, resolved label-i18n TODO.
felix@1953: 
felix@1953: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
felix@1953: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1953: 	  Merge, avoid duplicate code, fix axis ordering in w-diff diagram,
felix@1953: 	  label in ls-diagramm.
felix@1953: 
ingo@1952: 2011-12-05  Ingo Weinzierl <ingo@intevation.de>
ingo@1952: 
ingo@1952: 	* src/main/resources/messages.properties,
ingo@1952: 	  src/main/resources/messages_de_DE.properties,
ingo@1952: 	  src/main/resources/messages_en.properties,
ingo@1952: 	  src/main/resources/messages_de.properties: Added missing state titles.
ingo@1952: 
felix@1951: 2011-12-05	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1951: 
felix@1951: 	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
felix@1951: 	  Do not include zero on first axis.
felix@1951: 
felix@1950: 2011-12-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1950: 
felix@1950: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
felix@1950: 	  (buildArtifactNode): Include artifacts state data in description
felix@1950: 	  document of collection.
felix@1950: 
sascha@1948: 2011-11-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1948: 
felix@1949: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/ReportGenerator.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/ATExporter.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/OutGenerator.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
felix@1949: 	  src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java,
felix@1949: 	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
sascha@1948: 	  Removed superfluous imports.
sascha@1948: 
sascha@1947: 2011-11-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1947: 
sascha@1947: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
sascha@1947: 	  Removed import to make it compileable again.
sascha@1947: 
felix@1946: 2011-11-30  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1946: 
felix@1946: 	Introduce pre-rendering inter-facet communication phase ('blackboard
felix@1946: 	pass').
felix@1946: 
felix@1946: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java
felix@1946: 	  (doBlackboardPass): New. Before actually calling doOut, bundle
felix@1946: 			      ArtifactAndFacets and let them register
felix@1946: 			      themselfes as DataProvider in CallContext if they
felix@1946: 			      want ("announce on blackboard").
felix@1946: 
felix@1945: 2011-11-30  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1945: 
felix@1945: 	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java
felix@1945: 	  (doOut): Adjusted signature.
felix@1945: 
felix@1944: 2011-11-30  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1944: 
felix@1944: 	Changed doOut signature to use ArtifactAndFacet, which will be
felix@1944: 	side effect of upcoming "blackboard" feature.
felix@1944: 
felix@1944: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java
felix@1944: 	  (getRangesForDataset, getRangesForAxis): Renamed, removed TODO.
felix@1944: 
felix@1944: 	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java
felix@1944: 	  (createAxis): Update call to XYChartGenerator.getRangesForAxis,
felix@1944: 	  cosmetics.
felix@1944: 
felix@1944: 	* src/main/java/de/intevation/flys/exports/OutGenerator.java
felix@1944: 	  (doOut): Changed Signature to accet ArifactAndFacet instead of
felix@1944: 		   Artifact and Facet.
felix@1944: 
felix@1944: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
felix@1944: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
felix@1944: 	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
felix@1944: 	  src/main/java/de/intevation/flys/exports/ReportGenerator.java,
felix@1944: 	  src/main/java/de/intevation/flys/exports/MapGenerator.java,
felix@1944: 	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
felix@1944: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
felix@1944: 	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
felix@1944: 	  src/main/java/de/intevation/flys/exports/ATExporter.java,
felix@1944: 	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
felix@1944: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
felix@1944: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
felix@1944: 	  src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java
felix@1944: 	  (doOut): Adjusted to new signature.
felix@1944: 
felix@1944: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
felix@1944: 	  (adjustAxes): Removed, we do not need a (manual) second axis.
felix@1944: 
felix@1943: 2011-11-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1943: 
felix@1943: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1943: 	  Fix compilation, use features of XYChartGenerator.
felix@1943: 
felix@1943: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1943: 	  Set default behaviour such that 0 is not included in ranges.
felix@1943: 
felix@1943: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
felix@1943: 	  Set behaviour of axis such that 0 is not (automagically) included.
felix@1943: 
felix@1942: 2011-11-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1942: 
felix@1942: 	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java:
felix@1942: 	  Fix wrong documentation.
felix@1942: 
felix@1941: 2011-11-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1941: 
felix@1941: 	Fix LongitudinalSections multi-axes plotting behavior.
felix@1941: 
felix@1941: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1941: 	  Removed obsolete functions, use better working multi-axis
felix@1941: 	  magic by XYChartGenerator.
felix@1941: 
felix@1940: 2011-11-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1940: 
felix@1940: 	Overhaul dataset/axis/renderer housekeeping in Mother of all
felix@1940: 	ChartGenerators.
felix@1940: 
felix@1940: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1940: 	  Refactored, keep axis/rendering relevant information in objects
felix@1940: 	  of new class AxisDataset. Removed some obsolete code while adding
felix@1940: 	  documentation.
felix@1940: 
sascha@1939: 2011-11-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1939: 
sascha@1939: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(relateWs):
sascha@1939: 	  Added the implementation of the 'Bezugslinienverfahren'. Should
sascha@1939: 	  be complete but needs testing!
sascha@1939: 	  TODO: Setup a Calculation and integrate it into WINFO.
sascha@1939: 
sascha@1938: 2011-11-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1938: 
sascha@1938: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@1938: 	  Refactored the code for the "berechnete Abflusskurve" to enable
sascha@1938: 	  the "Bezugslinienverfahren" to use the same code paths. It also
sascha@1938: 	  removes a good deal of already existing code duplication.
sascha@1938: 
sascha@1937: 2011-11-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1937: 
sascha@1937: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(findQsForW):
sascha@1937: 	  Added method findQsForW(w, km) to retrieve the Qs that correspond
sascha@1937: 	  for the given w and km.
sascha@1937: 
sascha@1937: 	  This is to be called when doing a "W auf freier Strecke" calculation
sascha@1937: 	  to find out the Qs belonging to the user given W.
sascha@1937: 	
sascha@1937: 	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java,
sascha@1937: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
sascha@1937: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
sascha@1937: 	  Removed superfluous imports.
sascha@1937: 
felix@1936: 2011-11-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1936: 
felix@1936: 	Fix bug when adding Q data in LongitudinalSectionGenerator.
felix@1936: 
felix@1936: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1936: 	  Add data from Q -Facet as Q over Km points.
felix@1936: 
felix@1935: 2011-11-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1935: 
felix@1935: 	Added handling of empty plots.
felix@1935: 
felix@1935: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1935: 	  (createAxes, removeEmptyRangeAxes): Survive empty datasets map, create
sascha@1938: 	  primary axis.
felix@1935: 	  (recoverEmptyPlot): New.
felix@1935: 
felix@1934: 2011-11-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1934: 
felix@1934: 	Let first visible axis be always on the left.
felix@1934: 
felix@1934: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1934: 	  (createAxes): When creating axes, keep track of which is the first
felix@1934: 			one. Set its location to "left".
felix@1934: 
felix@1933: 2011-11-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1933: 
felix@1933: 	Use multiple axis in relevant generators.
felix@1933: 
felix@1933: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
felix@1933: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
felix@1933: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
felix@1933: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
felix@1933: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1933: 	  (createYAxis): Implemented.
felix@1933: 	  Define and use YAXIS enum for axes.
felix@1933: 
felix@1932: 2011-11-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1932: 
felix@1932: 	Fix theming and legend items for plot with multiaxis feature.
felix@1932: 	Decouple renderer index from dataset index.
felix@1932: 
felix@1932: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1932: 	  (applyThemes): Do not get renderer based on dataset/axis-index but
felix@1932: 			 count.
felix@1932: 
felix@1931: 2011-11-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1931: 
felix@1931: 	In XYChartGenerators allow more than two datasets.
felix@1931: 	Assign axis to indices of datasets, do not show axis if corresponding
felix@1931: 	dataset is set to be not visible.
felix@1931: 	Do proper axis-setting in LongitudinalSectionGenerator only (other
felix@1931: 	will follow). Based on a patch by Sascha Teichmann.
felix@1931: 
felix@1931: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1931: 	  Keep relation between index and dataset, once its added. Compute
felix@1931: 	  ranges per index. Allow subclasses to override createAxes to specify
felix@1931: 	  internationalized labels etc.
felix@1931: 	
felix@1931: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
felix@1931: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
felix@1931: 	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
felix@1931: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
felix@1931: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
felix@1931: 	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java:
felix@1931: 	  Add datasets to first index.
felix@1931: 
felix@1931: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1931: 	  Implement createYAxis to create correct first, second and third
felix@1931: 	  axis. Added enum to easy identification of axis. Stripped down
felix@1931: 	  adjustAxis which was used to create second axis.
felix@1931: 	  Add datasets at correct indices.
felix@1931: 
felix@1930: 2011-11-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1930: 
felix@1930: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java,
felix@1930: 	  src/main/java/de/intevation/flys/artifacts/datacage/templating/FunctionResolver.java,
felix@1930: 	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1930: 	  Cosmetics, docs.
felix@1930: 
felix@1929: 2011-11-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1929: 
felix@1929: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
felix@1929: 	  Cosmetics, docs.
felix@1929: 
felix@1928: 2011-11-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1928: 
felix@1928: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableCacheKey.java:
felix@1928: 	  Cosmetics, docs.
felix@1928: 
felix@1927: 2011-11-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1927: 
felix@1927: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
felix@1927: 	  Resolved TODO about caching certain WstValueTables.
felix@1927: 
ingo@1926: 2011-11-22  Ingo Weinzierl <ingo@intevation.de>
ingo@1926: 
ingo@1926: 	* src/main/java/de/intevation/flys/artifacts/ExternalWMSArtifact.java: New.
ingo@1926: 	  This Artifact is used to allow users adding external WMS layers to their
ingo@1926: 	  floodmaps. An ExternalWMSArtifact stores an URL of a WMS, the name and the
ingo@1926: 	  title of the WMS layer. The internal State extends WMSBackgroundState.
ingo@1926: 
ingo@1926: 	* doc/conf/conf.xml: Registered the ExternalWMSArtifact.
ingo@1926: 
ingo@1926: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added a
ingo@1926: 	  new type "floodmap.externalwms" which is used by the ExternalWMSArtifact.
ingo@1926: 
ingo@1926: 	* doc/conf/artifacts/winfo.xml: Allowed the "floodmap.externalwms" facet for
ingo@1926: 	  floodmaps.
ingo@1926: 
ingo@1926: 	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java:
ingo@1926: 	  Some refactoring to allow easier subclassing.
ingo@1926: 
felix@1925: 2011-11-22  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1925: 
felix@1925: 	Fixed flys/411.
felix@1925: 
felix@1925: 	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java:
felix@1925: 	  Use different queries to avoid costy joins.
felix@1925: 
felix@1924: 2011-11-22  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1924: 
felix@1924: 	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java:
felix@1924: 	  Use different queries to avoid costy joins. Patch by Sascha
felix@1924: 	  Teichmann, minor typo-fix.
felix@1924: 
felix@1923: 2011-11-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1923: 
felix@1923: 	* doc/conf/artifacts/winfo.xml: Added other.wkms.interpol facet
felix@1923: 	  to compatibility matrix for computed discharge curves.
felix@1923: 
felix@1922: 2011-11-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1922: 
felix@1922: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1922: 	  Resolve cosmetic todo, use importData-convenience method.
felix@1922: 
felix@1921: 2011-11-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1921: 
felix@1921: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1921: 	  Handle STATIC_WKMS_INTERPOL and WQ/Points as Annotations.
felix@1921: 
felix@1920: 2011-11-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1920: 
felix@1920: 	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
felix@1920: 	  Give Facet different name when its a flood*, so that it can be
felix@1920: 	  understood to be e.g. a flood-protection further down the processing
felix@1920: 	  line.
felix@1920: 
felix@1919: 2011-11-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1919: 
felix@1919: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
felix@1919: 	  Prevent ArrayIndexOutOfBounds, log method entry.
felix@1919: 
felix@1918: 2011-11-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1918: 
felix@1918: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@1918: 	  Added new Facet Type: Interpolated W/Km values.
felix@1918: 
ingo@1917: 2011-11-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1917: 
ingo@1917: 	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java,
ingo@1917: 	  src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java,
ingo@1917: 	  src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Avoid
ingo@1917: 	  WMS layer names that begin with digits. This would lead to invalid
ingo@1917: 	  WMSGetFeatureInfo responses, where the name of a layer is the name of a
ingo@1917: 	  XML node.
ingo@1917: 
felix@1916: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1916: 
felix@1916: 	* doc/conf/meta-data.xml: Added and use *_wq macros for interpolated
felix@1916: 	  w/q data (currently used in computed discharge curve only).
felix@1916: 
felix@1915: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1915: 
felix@1915: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1915: 	  Handle STATIC_WQ_ANNOTATION type facets, build and add annotations
felix@1915: 	  for these.
felix@1915: 
felix@1914: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1914: 
felix@1914: 	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
felix@1914: 	  Set Facet type (name) based on static datas name (special case
felix@1914: 	  everything starting with "height").
felix@1914: 
felix@1913: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1913: 
felix@1913: 	* doc/conf/artifacts/winfo.xml: Extended compatibility matrices.
felix@1913: 
felix@1912: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1912: 
felix@1912: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@1912: 	  Added new STATIC_WQ_ANNOTATIONS Facet Type.
felix@1912: 
ingo@1911: 2011-11-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1911: 
ingo@1911: 	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
ingo@1911: 	  Added a method isQueryable() that determines if a layer is queryable via
ingo@1911: 	  WMS GetFeatureInfo request. This method returns false as default.
ingo@1911: 
ingo@1911: 	* src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java:
ingo@1911: 	  Override isQueryable(). All WMSDBLayerFacets are queryable via WMS
ingo@1911: 	  GetFeatureInfo request.
ingo@1911: 
felix@1910: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1910: 
felix@1910: 	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
felix@1910: 	  Added functionality to artifact to use single column wst
felix@1910: 	  interpolators.
felix@1910: 
felix@1909: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1909: 
felix@1909: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
felix@1909: 	  Added methods to create WstValueTables (interpolators) for specific
felix@1909: 	  columns of wsts.
felix@1909: 
felix@1908: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1908: 
felix@1908: 	* doc/conf/themes.xml: Added Point Style for other.wq data.
felix@1908: 
sascha@1907: 2011-11-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1907: 
sascha@1907: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@1907: 	  Do not re-evaluate constant size() in for-loops.
sascha@1907: 
felix@1906: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1906: 
felix@1906: 	* src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
felix@1906: 	  Get ld_locations not locations data item to determine km.
felix@1906: 	  (getDataAsDouble): New helper function to get data item as double.
felix@1906: 
felix@1905: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1905: 
felix@1905: 	* doc/conf/meta-data.xml: Recommend fixations for computed discharge
felix@1905: 	  curve outs, minor refactoring of dc conf.
felix@1905: 
felix@1904: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1904: 
felix@1904: 	* doc/conf/conf.xml: Added wqinterpol factory to produce
felix@1904: 	WQKmsInterpolArtifacts.
felix@1904: 
felix@1903: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1903: 
felix@1903: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1903: 	  Use StyledSeriesBuilder to add WQ data from WQKms to Series.
felix@1903: 
felix@1901: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1901: 
felix@1901: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1901: 	  Handle interpolated WQ data.
felix@1901: 
felix@1900: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1900: 
felix@1900: 	* src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java:
felix@1900: 	  Adjusted to similar implementations. Added TODO about merging with
felix@1900: 	  these similar implementations.
felix@1900: 
felix@1899: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1899: 
felix@1899: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
felix@1899: 	  Removed logging noise, find better suited rows for interpolation.
felix@1899: 
felix@1898: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1898: 
felix@1898: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
felix@1898: 	  Cache WstValueTables that were fetched by wst_id.
felix@1898: 
felix@1897: 2011-11-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1897: 
felix@1897: 	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
felix@1897: 	  (getWstName): Fix and use SQL statement.
felix@1897: 
felix@1896: 2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1896: 
felix@1896: 	* src/main/java/de/intevation/flys/artifacts/model/WQFacet.java,
felix@1896: 	  src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java:
felix@1896: 	  Added new Facet and Artifact to access W over Q data.
felix@1896: 
felix@1895: 2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1895: 
felix@1895: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
felix@1895: 	  (importData): New function to copy data from one artifact to
felix@1895: 			another.
felix@1895: 
felix@1894: 2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1894: 
felix@1894: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java
felix@1894: 	  (getTable): New methods to get WstValueTable for given wst_id.
felix@1894: 	  Prepolate Arrays with NaNs.
felix@1894: 
felix@1893: 2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1893: 
felix@1893: 	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
felix@1893: 	  (getWKmsName): Fix definition.
felix@1893: 
felix@1892: 2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1892: 
felix@1892: 	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
felix@1892: 	  (getWKmsName): New function. Get name (description) of a WST.
felix@1892: 
felix@1892: 2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1892: 
felix@1891: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@1891: 	  Added new "other.wq"/STATIC_WQ Facet-Type, e.g. for fixations in
felix@1891: 	  discharge curves.
felix@1891: 
felix@1890: 2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1890: 
felix@1890: 	Picky cosmetics.
felix@1890: 
felix@1890: 	* src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java,
felix@1890: 	  src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java,
felix@1890: 	  src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java,
felix@1890: 	  src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java:
felix@1890: 	  Cosmetics, docs.
felix@1890: 
felix@1889: 2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1889: 
felix@1889: 	Added translations for Mosel, Elbe and Saar.
felix@1889: 
felix@1889: 	* src/main/resources/messages.properties,
felix@1889: 	  src/main/resources/messages_de_DE.properties,
felix@1889: 	  src/main/resources/messages_en.properties,
felix@1889: 	  src/main/resources/messages_de.properties: Added translations
felix@1889: 	  for Mosel, Elbe, Saar.
felix@1889: 
felix@1888: 2011-11-15  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1888: 
felix@1888: 	Added new interpolation mechanism to WstValueTable to interpolate
felix@1888: 	given columns only.
felix@1888: 
felix@1888: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java
felix@1888: 	  (linearW): New, interpolate a given columns w's between given rows.
felix@1888: 	  (interpolateWQColumnwise): New, interpolate between rows ws at a
felix@1888: 				     given column and km.
felix@1888: 
felix@1887: 2011-11-14  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1887: 
felix@1887: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
felix@1887: 	  Minor doc added.
felix@1887: 
sascha@1886: 2011-11-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1886: 
sascha@1886: 	* src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java,
sascha@1886: 	  src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java,
sascha@1886: 	  src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java,
sascha@1886: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
sascha@1886: 	  src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java,
sascha@1886: 	  src/main/java/de/intevation/flys/themes/ThemeFactory.java:
sascha@1886: 	  Removed dead ';' from empty bodies.
sascha@1886: 
sascha@1885: 2011-11-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1885: 
sascha@1885: 	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
sascha@1885: 	  s/reset/resetQuick/s in TDoubleArrayLists.
sascha@1885: 
sascha@1884: 2011-11-13	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1884: 
sascha@1884: 	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
sascha@1884: 	  Added system properties 'waterlevel' and 'km'. Useful to
sascha@1884: 	  init the UI with a given waterlevel and drawing the cross-sections
sascha@1884: 	  at the given km.
sascha@1884: 
sascha@1884: 	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
sascha@1884: 	  Spliting by NaNs definition holes _should_ work now. Needs 
sascha@1884: 	  some more testing.
sascha@1884: 	  TODOs: 
sascha@1884: 	  - Use log4j instead of println for logging.
sascha@1884: 	  - Subclass XYDifferenceRenderer instead of replacing it totally.
sascha@1884: 
sascha@1883: 2011-11-12	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1883: 
sascha@1883: 	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
sascha@1883: 	  Draw water, too.
sascha@1883: 
sascha@1883: 	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
sascha@1883: 	  First code to split datasets by NaNs. WIP.
sascha@1883: 
sascha@1882: 2011-11-12	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1881: 
sascha@1881: 	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
sascha@1881: 	  Draw ground with StableXYDifferenceRenderer.
sascha@1881: 
sascha@1881: 	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
sascha@1881: 	  Removed XYDatasetToZeroMapper stuff. Not needed any longer
sascha@1881: 	  because we use rendereres on dataset basis now.
sascha@1881: 
sascha@1881: 	* src/main/java/de/intevation/flys/jfree/XYDatasetToZeroMapper.java:
sascha@1881: 	  Removed.Not longer needed.
sascha@1881: 
felix@1880: 2011-11-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1880: 
felix@1880: 	* doc/conf/meta-data.xml: Include computed discharge curves in dc
felix@1880: 	  conf.
felix@1880: 
felix@1879: 2011-11-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1879: 
felix@1879: 	* doc/conf/meta-data.xml: Somewhat unify user-part of dc config.
felix@1879: 
ingo@1878: 2011-11-11  Ingo Weinzierl <ingo@intevation.de>
ingo@1878: 
ingo@1878: 	* doc/conf/themes.xml: Modified some floodmap styles and added a
ingo@1878: 	  backgroundcolor attribute to polygon themes.
ingo@1878: 
ingo@1878: 	* src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java:
ingo@1878: 	  Added support for backgroundcolor.
ingo@1878: 
ingo@1878: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Parse
ingo@1878: 	  backgroundcolor from theme document. If a value is given, the
ingo@1878: 	  backgroundcolor is set on the Mapserver style.
ingo@1878: 
ingo@1877: 2011-11-11  Ingo Weinzierl <ingo@intevation.de>
ingo@1877: 
ingo@1877: 	* src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java:
ingo@1877: 	  Set correct Mapserver attribute name to adjust the width of a line.
ingo@1877: 
ingo@1876: 2011-11-11  Ingo Weinzierl <ingo@intevation.de>
ingo@1876: 
ingo@1876: 	* doc/conf/themes.xml: Added 'textcolor' and 'textsize' attributes to the
ingo@1876: 	  existing 'Kms' theme.
ingo@1876: 
ingo@1876: 	* doc/conf/mapserver/fontset.txt: Defined a 'DefaultFont' that is used as
ingo@1876: 	  default font for Mapserver labels.
ingo@1876: 
ingo@1876: 	* doc/conf/mapserver/db_layer.vm: Add a Mapserver LABELITEM if a value is
ingo@1876: 	  provided by LayerInfo object.
ingo@1876: 
ingo@1876: 	* src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: Added a
ingo@1876: 	  getLabelItem() method that returns null as default.
ingo@1876: 
ingo@1876: 	* src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java: Override
ingo@1876: 	  getLabelItem() to return "km" which is the database field that contains
ingo@1876: 	  the kilometer information.
ingo@1876: 
ingo@1876: 	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java,
ingo@1876: 	  src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java:
ingo@1876: 	  Added an attribute labelItem with appropriate getter/setter methods.
ingo@1876: 
ingo@1876: 	* src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java:
ingo@1876: 	  Splitted up the internal class Clazz. Now, there are two new inner
ingo@1876: 	  classes Style and Label that fulfill the appropriate Mapfile sections of
ingo@1876: 	  Mapserver.
ingo@1876: 
ingo@1876: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Also Read font
ingo@1876: 	  attributes and add new Clazz Label for the Mapserver layer.
ingo@1876: 
ingo@1876: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Set the
ingo@1876: 	  "labelItem" attribute on the LayerInfo object used to fill DB layer
ingo@1876: 	  templates.
ingo@1876: 
felix@1875: 2011-11-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1875: 
felix@1875: 	* doc/conf/meta-data.xml: Re-use macros to include more data to
felix@1875: 	  datacage in more situations.
felix@1875: 
ingo@1874: 2011-11-11  Ingo Weinzierl <ingo@intevation.de>
ingo@1874: 
ingo@1874: 	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
ingo@1874: 	  Removed needless imports.
ingo@1874: 
ingo@1873: 2011-11-10  Ingo Weinzierl <ingo@intevation.de>
ingo@1873: 
ingo@1873: 	* src/main/java/de/intevation/flys/artifacts/WMSFixpointsArtifact.java: New
ingo@1873: 	  WMSDBArtifact that creates facets for "fixpoints" relation.
ingo@1873: 
ingo@1873: 	* doc/conf/artifacts/winfo.xml: Registered "floodmap.fixpoints" as valid
ingo@1873: 	  "floodmap" facet.
ingo@1873: 
ingo@1873: 	* doc/conf/conf.xml: Registered the new WMSFixpointsArtifact.
ingo@1873: 
ingo@1873: 	* doc/conf/themes.xml: Added a theme for "floodmap.fixpoints".
ingo@1873: 
ingo@1873: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
ingo@1873: 	  Facet type "floodmap.fixpoints".
ingo@1873: 
ingo@1873: 	* doc/conf/meta-data.xml: Made "floodmap.fixpoints" available via datacage.
ingo@1873: 
ingo@1873: 	* src/main/resources/messages.properties,
ingo@1873: 	  src/main/resources/messages_de_DE.properties,
ingo@1873: 	  src/main/resources/messages_en.properties,
ingo@1873: 	  src/main/resources/messages_de.properties: Added titles for
ingo@1873: 	  "floodmap.fixpoints" facets.
ingo@1873: 
felix@1872: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1872: 
felix@1872: 	* doc/conf/meta-data.xml: Refactored and (re)use macros.
felix@1872: 
ingo@1871: 2011-11-10  Ingo Weinzierl <ingo@intevation.de>
ingo@1871: 
ingo@1871: 	* src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java: New
ingo@1871: 	  WMSDBArtifact that creates facets for "buildings" relation.
ingo@1871: 
ingo@1871: 	* doc/conf/artifacts/winfo.xml: Registered "floodmap.buildings" as valid
ingo@1871: 	  "floodmap" facet.
ingo@1871: 
ingo@1871: 	* doc/conf/conf.xml: Registered the new WMSBuildingsArtifact.
ingo@1871: 
ingo@1871: 	* doc/conf/themes.xml: Added a theme for "floodmap.buildings".
ingo@1871: 
ingo@1871: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
ingo@1871: 	  Facet type "floodmap.buildings".
ingo@1871: 
ingo@1871: 	* doc/conf/meta-data.xml: Made "floodmap.buildings" available via datacage.
ingo@1871: 
ingo@1871: 	* src/main/resources/messages.properties,
ingo@1871: 	  src/main/resources/messages_de_DE.properties,
ingo@1871: 	  src/main/resources/messages_en.properties,
ingo@1871: 	  src/main/resources/messages_de.properties: Added titles for
ingo@1871: 	  "floodmap.buildings" facets.
ingo@1871: 
ingo@1870: 2011-11-10  Ingo Weinzierl <ingo@intevation.de>
ingo@1870: 
ingo@1870: 	* src/main/java/de/intevation/flys/artifacts/WMSLineArtifact.java: New
ingo@1870: 	  WMSDBArtifact that creates facets for "lines" relation.
ingo@1870: 
ingo@1870: 	* doc/conf/artifacts/winfo.xml: Registered "floodmap.lines" as valid
ingo@1870: 	  "floodmap" facet.
ingo@1870: 
ingo@1870: 	* doc/conf/conf.xml: Registered the new WMSLineArtifact.
ingo@1870: 
ingo@1870: 	* doc/conf/themes.xml: Added a theme for "floodmap.lines".
ingo@1870: 
ingo@1870: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
ingo@1870: 	  Facet type "floodmap.lines".
ingo@1870: 
ingo@1870: 	* doc/conf/meta-data.xml: Made "floodmap.lines" available via datacage.
ingo@1870: 
ingo@1870: 	* src/main/resources/messages.properties,
ingo@1870: 	  src/main/resources/messages_de_DE.properties,
ingo@1870: 	  src/main/resources/messages_en.properties,
ingo@1870: 	  src/main/resources/messages_de.properties: Added titles for facets.
ingo@1870: 
felix@1869: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1869: 
felix@1869: 	* doc/conf/meta-data.xml: Adjusted DC configuration to
felix@1869: 	  also allow heightmarks and base data in discharge longitudinal
felix@1869: 	  sections. Minor refac.
felix@1869: 
felix@1868: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1868: 
felix@1868: 	* doc/conf/meta-data.xml: Adjusted DC configuration to let old
felix@1868: 	  calculations be available for discharge longitudinal sections.
felix@1868: 
felix@1867: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1867: 
felix@1867: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java:
felix@1867: 	  Handle other WQKm and WKm Facets.
felix@1867: 
felix@1866: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1866: 
felix@1866: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java
felix@1866: 	  (IS): New inner class with static method to allow queries whether
felix@1866: 		a type belongs to a however-defined "group".
felix@1866: 
felix@1866: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1866: 
felix@1866: 	* doc/conf/conf.xml: Reverted accidental commit.
felix@1866: 
felix@1866: 	* doc/conf/meta-data.xml: Extracted annotations-macro, add recommendation
felix@1866: 	  for discharge longitudinal sections.
felix@1866: 
felix@1865: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1865: 
felix@1865: 	* doc/conf/conf.xml: Reverted accidental commit.
felix@1865: 
felix@1865: 	* doc/conf/meta-data.xml: Extracted annotations-macro, add recommendation
felix@1865: 	  for discharge longitudinal sections.
felix@1865: 
felix@1864: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1864: 
felix@1864: 	Made discharge longitudinal section out compatible with annotations.
felix@1864: 
felix@1864: 	* doc/conf/artifacts/winfo.xml: Added facets to compatibility list
felix@1864: 	  for discharge longitudinal section outs.
felix@1864: 
felix@1863: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1863: 
felix@1863: 	Extracted Annotations-Macro in dc conf, recommend Annotations for
felix@1865: 	discharge longitudinal sections. (Note correction two commits later).
felix@1863: 
felix@1863: 	* doc/conf/conf.xml: Extracted annotations-macro, add recommendation
felix@1863: 	  for discharge longitudinal sections.
felix@1863: 
felix@1862: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1862: 
felix@1862: 	Handle Annotations in DischargeLongitudinalSection diagrams.
felix@1862: 
felix@1862: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java:
felix@1862: 	  Call doAnnotations for LONGITUDINAL_ANNOTATION facets. 
felix@1862: 
felix@1861: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1861: 
felix@1861: 	Resolve code duplicate.
felix@1861: 
felix@1861: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java
felix@1861: 	  (doAnnotationsOut): Removed duplicate code.
felix@1861: 	  Theoretically handle WQKMS data.
felix@1861: 	
felix@1861: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1861: 	  Adjusted call to doAnnotationOut.
felix@1861: 
felix@1861: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java
felix@1861: 	  (doAnnotations): Doc from LongitudinalSectionGenerator.
felix@1861: 
felix@1860: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1860: 
felix@1860: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
felix@1860: 	  Include exception when logging issue with spline creation.
felix@1860: 
felix@1859: 2011-11-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1859: 
felix@1859: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
felix@1859: 	  When during XPath evaluation an exception is thrown, log the
felix@1859: 	  expression that caused the trouble.
felix@1859: 
sascha@1858: 2011-11-10	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1858: 
sascha@1858: 	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
sascha@1858: 	  Use separate XYDataset for each curve. This is needed because 
sascha@1858: 	  "Raum/Flaeche" needs specialized renderers, which are not compatible
sascha@1858: 	  with the standard renderers.
sascha@1858: 
sascha@1858: 	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java:
sascha@1858: 	  Removed superfluous import.
sascha@1858: 
ingo@1857: 2011-11-09  Ingo Weinzierl <ingo@intevation.de>
ingo@1857: 
ingo@1857: 	* src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java: New
ingo@1857: 	  Artifact that is used to create WMS layers for floodplains in maps.
ingo@1857: 
ingo@1857: 	* doc/conf/conf.xml: Registered the new WMSFloodplainArtifact.
ingo@1857: 
ingo@1857: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
ingo@1857: 	  a new type 'floodmap.floodplain'.
ingo@1857: 
ingo@1857: 	* doc/conf/artifacts/winfo.xml: Registered the 'floodmap.floodplain' facet
ingo@1857: 	  for floodmaps.
ingo@1857: 
ingo@1857: 	* doc/conf/themes.xml: Added a theme for 'floodmap.floodplain' facets.
ingo@1857: 
ingo@1857: 	* doc/conf/meta-data.xml: Added configuration for 'floodplain'.
ingo@1857: 
ingo@1857: 	* src/main/resources/messages.properties,
ingo@1857: 	  src/main/resources/messages_de_DE.properties,
ingo@1857: 	  src/main/resources/messages_en.properties,
ingo@1857: 	  src/main/resources/messages_de.properties: Added facet titles for
ingo@1857: 	  'floodmap.floodplain' facets.
ingo@1857: 
ingo@1856: 2011-11-09  Ingo Weinzierl <ingo@intevation.de>
ingo@1856: 
ingo@1856: 	* src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java: New
ingo@1856: 	  Artifact that is used to create WMS layers for catchments in maps.
ingo@1856: 
ingo@1856: 	* doc/conf/conf.xml: Registered the new WMSCatchmentArtifact.
ingo@1856: 
ingo@1856: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
ingo@1856: 	  a new type 'floodmap.catchment'.
ingo@1856: 
ingo@1856: 	* doc/conf/artifacts/winfo.xml: Registered the 'floodmap.catchment' facet
ingo@1856: 	  for floodmaps.
ingo@1856: 
ingo@1856: 	* doc/conf/themes.xml: Added a theme for 'floodmap.catchment' facets.
ingo@1856: 
ingo@1856: 	* doc/conf/meta-data.xml: Added configuration for 'catchments'.
ingo@1856: 
ingo@1856: 	* src/main/resources/messages.properties,
ingo@1856: 	  src/main/resources/messages_de_DE.properties,
ingo@1856: 	  src/main/resources/messages_en.properties,
ingo@1856: 	  src/main/resources/messages_de.properties: Added facet titles for
ingo@1856: 	  'floodmap.catchment' facets.
ingo@1856: 
ingo@1855: 2011-11-09  Ingo Weinzierl <ingo@intevation.de>
ingo@1855: 
ingo@1855: 	* src/main/java/de/intevation/flys/artifacts/WMSHwsArtifact.java: New
ingo@1855: 	  Artifact that is used to create WMS layers for flood protected works.
ingo@1855: 
ingo@1855: 	* doc/conf/conf.xml: Registered the new WMSHwsArtifact.
ingo@1855: 
ingo@1855: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
ingo@1855: 	  a new type 'floodmap.hws'.
ingo@1855: 
ingo@1855: 	* doc/conf/artifacts/winfo.xml: Registered the 'floodmap.hws' facet for
ingo@1855: 	  floodmaps.
ingo@1855: 
ingo@1855: 	* doc/conf/themes.xml: Added a theme for 'floodmap.hws' facets.
ingo@1855: 
ingo@1855: 	* doc/conf/meta-data.xml: Added configuration for 'hws'.
ingo@1855: 
ingo@1855: 	* src/main/resources/messages.properties,
ingo@1855: 	  src/main/resources/messages_de_DE.properties,
ingo@1855: 	  src/main/resources/messages_en.properties,
ingo@1855: 	  src/main/resources/messages_de.properties: Added facet titles for
ingo@1855: 	  'floodmap.hws' facets.
ingo@1855: 
ingo@1854: 2011-11-09  Ingo Weinzierl <ingo@intevation.de>
ingo@1854: 
ingo@1854: 	* doc/conf/mapserver/dbconnection.include: Removed. DB connections are
ingo@1854: 	  supported by LayerInfo objects now. So, we do not need to configure it any
ingo@1854: 	  more.
ingo@1854: 
ingo@1854: 	* doc/conf/mapserver/db_layer.vm: The database connection is provided by
ingo@1854: 	  LayerInfo objects. The "INCLUDE dbconnection.include" has been replaced.
ingo@1854: 
ingo@1854: 	* src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: The inner
ingo@1854: 	  State class got two new methods that provide information about db
ingo@1854: 	  connection string and connection type.
ingo@1854: 
ingo@1854: 	* src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java,
ingo@1854: 	  src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Both
ingo@1854: 	  classes support getter/setter for connection and connectionType.
ingo@1854: 
ingo@1854: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Fill
ingo@1854: 	  LayerInfo objects used to create DB layers with the connection and
ingo@1854: 	  connection type provided by WMSDBLayerFacet.
ingo@1854: 
felix@1853: 2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1853: 
felix@1853: 	Allow height marks with points style in w-differences diagrams.
felix@1853: 
felix@1853: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1853: 	  Handle HEIGHTMARKS_POINTS facets.
felix@1853: 
felix@1852: 2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1852: 
felix@1852: 	Made Q Duration curve initially inactive.
felix@1852: 
felix@1852: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java
felix@1852: 	  (getInitialFacetActivity): Return 0 for DURATION_Q facets. Minor
felix@1852: 				     cosmetics.
felix@1852: 
felix@1851: 2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1851: 
felix@1851: 	Recommend mainvalues for Duration Curve Diagrams.
felix@1851: 
felix@1851: 	* doc/conf/meta-data.xml: Recommend mainvalues for duration curve
felix@1851: 	  diagrams. refactored into macro.
felix@1851: 
felix@1850: 2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1850: 
felix@1850: 	Handle MainValue Facets in Duration Curve Diagrams.
felix@1850: 
felix@1850: 	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
felix@1850: 	  Handle MainValues.
felix@1850: 
felix@1850: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1850: 	  Adjusted to call doAnnotations.
felix@1850: 
felix@1849: 2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1849: 
felix@1849: 	Move do*Annotation* (like mainvalue) in XYChartGenerator.
felix@1849: 
felix@1849: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java
felix@1849: 	  (doAnnotations): New, moved from DischargeCurveGenerator.
felix@1849: 
felix@1849: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java
felix@1849: 	  (doMainValueAnnotations): Moved to superclass.
felix@1849: 
felix@1848: 2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1848: 
felix@1848: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
felix@1848: 	  Removed duplicate code.
felix@1848: 
felix@1847: 2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1847: 
felix@1847: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java
felix@1847: 	  (): Minor cosmetics, added stability.
felix@1847: 	  (getInitialFacetActivity): Let facets be inactive in duration curve
felix@1847: 				     diagrams.
felix@1847: 
felix@1846: 2011-11-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1846: 
felix@1846: 	* doc/conf/artifacts/winfo.xml: Allow other.wqkms facets in many
felix@1846: 	  outputs, mainvalues in duration curves.
felix@1846: 
ingo@1845: 2011-11-09  Ingo Weinzierl <ingo@intevation.de>
ingo@1845: 
ingo@1845: 	 * doc/conf/mapserver/dbconnection.include: Adapted connection params for
ingo@1845: 	   using an oracle database.
ingo@1845: 
ingo@1845: 	* src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java,
ingo@1845: 	  src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java,
ingo@1845: 	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java:
ingo@1845: 	  Added Oracle support for Mapserver's DATA attribute. Oracle doesn't allow
ingo@1845: 	  a "USING UNIQUE id" string in this attribute which is required by Postgis.
ingo@1845: 
ingo@1845: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1845: 	  Modified the geometry type of "talaue.shp" from MultiPolygon to Polygon.
ingo@1845: 
ingo@1845: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function
ingo@1845: 	  which returns true, if the backend uses an Oracle db instance. Otherwise,
ingo@1845: 	  it returns false.
ingo@1845: 
felix@1844: 2011-11-08  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1844: 
felix@1844: 	Fix flys/issue406 (Themestyle-editor: themes for "other.wkms" and
felix@1844: 	"other.wqkms" missing)
felix@1844: 
felix@1844: 	* doc/conf/themes.xml: Fixed typos in WKms and WQKms theme names.
felix@1844: 
felix@1843: 2011-11-08  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1843: 
felix@1843: 	Fix flys/issue405 (Datacage: Recommendations get loaded twice).
felix@1843: 
felix@1843: 	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java
felix@1843: 	  (setup): Do not try/catch exception.
felix@1843: 	  (spawn_state): Generate just one "general" output.
felix@1843: 
ingo@1842: 2011-11-08  Ingo Weinzierl <ingo@intevation.de>
ingo@1842: 
ingo@1842: 	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
ingo@1842: 	  Added a log.warn() which prints out an exception - previously it was
ingo@1842: 	  just skipped.
ingo@1842: 
ingo@1841: 2011-11-08  Ingo Weinzierl <ingo@intevation.de>
ingo@1841: 
ingo@1841: 	* doc/conf/meta-data.xml: Removed orphaned datacage configuration which is
ingo@1841: 	  no longer loadable.
ingo@1841: 
ingo@1840: 2011-11-07  Ingo Weinzierl <ingo@intevation.de>
ingo@1840: 
ingo@1840: 	* doc/conf/conf.xml: Added an "post-describe" hook which is necessary to
ingo@1840: 	  load recommendations for "floodmaps".
ingo@1840: 
felix@1839: 2011-11-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1839: 
felix@1839: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java
felix@1839: 	  (loadRows, loadColumns, loadQRanges): Refactored in preparation to
felix@1839: 	  ability to create WstValueTables for given wst_id and
felix@1839: 	  column_pos (interpolation for static data).
felix@1839: 
felix@1838: 2011-11-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1838: 
felix@1838: 	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
felix@1838: 	  src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java:
felix@1838: 	  Minor, picky cosmetics.
felix@1838: 
felix@1838: 	* src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java:
felix@1838: 	  Removed junk.
felix@1838: 
felix@1838: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
felix@1838: 	  Added documentation.
felix@1838: 
felix@1837: 2011-11-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1837: 
felix@1837: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
felix@1837: 	  Be more specific in what to catch.
felix@1837: 	
ingo@1836: 2011-11-04  Ingo Weinzierl <ingo@intevation.de>
ingo@1836: 
ingo@1836: 	* doc/conf/meta-data.xml: Added the CrossSectionTracks to the "floodmap"
ingo@1836: 	  datacage configuration.
ingo@1836: 
ingo@1836: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added a
ingo@1836: 	  FacetType "floodmap.qps".
ingo@1836: 
ingo@1836: 	* doc/conf/conf.xml: Defined an ArtifactFactory for the "wmspqsartifact"
ingo@1836: 	  string. The factory will create new instances of WMSQPSArtifact.
ingo@1836: 
ingo@1836: 	* src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java: New. This
ingo@1836: 	  Artifact is used to create "floodmap.qps" facets. It has an internal fixed
ingo@1836: 	  State WMSQPSState.
ingo@1836: 
ingo@1836: 	* doc/conf/artifacts/winfo.xml: Added the "floodmap.qps" layer to the
ingo@1836: 	  "floodmap" output.
ingo@1836: 
ingo@1836: 	* doc/conf/themes.xml: Added a theme for "floodmap.qps" facets.
ingo@1836: 
ingo@1836: 	* src/main/resources/messages.properties,
ingo@1836: 	  src/main/resources/messages_de_DE.properties,
ingo@1836: 	  src/main/resources/messages_en.properties,
ingo@1836: 	  src/main/resources/messages_de.properties: Added strings for the QPS WMS
ingo@1836: 	  layer used in floodmaps.
ingo@1836: 
felix@1835: 2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1835: 
felix@1835: 	Re-enable mainvalue-recommendations for computed discharge curves,
felix@1835: 	as the NPE should be gone.
felix@1835: 
felix@1835: 	* doc/conf/meta-data.xml: Uncomment mainvalue recommendations.
felix@1835: 
felix@1835: 2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1835: 
felix@1835: 	When querying metadata/datacage, use only output-names of outputs that
felix@1835: 	actually exists (in the sense of having facets).
felix@1835: 
felix@1835: 	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java:
felix@1835: 	  Get output names from artifact, not from state.
felix@1835: 
ingo@1833: 2011-11-04  Ingo Weinzierl <ingo@intevation.de>
ingo@1833: 
ingo@1833: 	* doc/conf/meta-data.xml: Removed DEMs from floodmap configuration,
ingo@1833: 	  because we are not able to draw DEMs into maps.
ingo@1833: 
ingo@1832: 2011-11-04  Ingo Weinzierl <ingo@intevation.de>
ingo@1832: 
ingo@1832: 	* src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java:
ingo@1832: 	  Subclasses WMSDBArtifact now and defines an inner class RiverAxisState
ingo@1832: 	  which subclasses WMSDBState.
ingo@1832: 
ingo@1832: 	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
ingo@1832: 	  Removed. The RiverAxisState is an inner class of RiverAxisArtifact now
ingo@1832: 	  which subclasses WMSDBState.
ingo@1832: 
ingo@1832: 	* doc/conf/artifacts/riveraxis.xml: Removed, because the RiverAxisArtifact
ingo@1832: 	  has a fixed static State only.
ingo@1832: 
ingo@1832: 	* doc/conf/conf.xml: Removed riveraxis.xml definition.
ingo@1832: 
felix@1831: 2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1831: 
felix@1831: 	For a Flys-Collection, add outputt to attributes-part of describe
felix@1831: 	document only if they contain facets.  -> Prevent empty output nodes
felix@1831: 	in flys-collections outputs.
felix@1831: 
felix@1831: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
felix@1831: 	  (writeFacets): Added return type to indicate whether any facet was
felix@1831: 	  written. Decide whether to add an output-node depending on this
felix@1831: 	  return value.
felix@1831: 
ingo@1830: 2011-11-04  Ingo Weinzierl <ingo@intevation.de>
ingo@1830: 
ingo@1830: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Create
ingo@1830: 	  line and polygon layers for barriers only if they are really existing.
ingo@1830: 
felix@1829: 2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1829: 
felix@1829: 	Disable mainvalue-recommendations for discharge curves as they trigger
felix@1829: 	a yet-to-be understood NPE.
felix@1829: 
felix@1829: 	* doc/conf/meta-data.xml: Comment mainvalue-recommendations for
felix@1829: 	  discharge curves.
felix@1829: 
felix@1828: 2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1828: 
felix@1828: 	Added new matching condition for theme-mappings: the name of
felix@1828: 	the output.
felix@1828: 
felix@1828: 	* src/main/java/de/intevation/flys/themes/ThemeMapping.java:
felix@1828: 	  Added output field and function to match it against a given
felix@1828: 	  output name.
felix@1828: 
felix@1828: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
felix@1828: 	  Createing ThemeMapping with output attribute from configuration.
felix@1828: 	  
felix@1828: 	* src/main/java/de/intevation/flys/themes/ThemeFactory.java:
felix@1828: 	  (getTheme(FLYSContext, string)): Removed, never called.
felix@1828: 	  (getTheme): Added outputName argument, match it.
felix@1828: 
felix@1828: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
felix@1828: 	  Pass outputs name until it can be matched against mapping.
felix@1828: 
felix@1827: 2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1827: 
felix@1827: 	* doc/conf/themes.xml: Added default themes for other.w(q)kms.
felix@1827: 
felix@1826: 2011-11-04  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1826: 
felix@1826: 	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
felix@1826: 	  src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
felix@1826: 	  Cosmetics, reduce logging noise.
felix@1826: 
felix@1825: 2011-11-03  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1825: 
felix@1825: 	Added access to static W_Q_Kms - data in much the same way then static
felix@1825: 	WKms.
felix@1825: 
felix@1825: 	* src/main/java/de/intevation/flys/artifacts/model/StaticWQKmsCacheKey.java:
felix@1825: 	  Cache Key for static wqkms data.
felix@1825: 	
felix@1825: 	* src/main/java/de/intevation/flys/artifacts/model/WQKmsFacet.java:
felix@1825: 	  Facet for WQKms.
felix@1825: 	
felix@1825: 	* src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java:
felix@1825: 	  Factory to access WQKms.
felix@1825: 	
felix@1825: 	* src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java:
felix@1825: 	  Artifact that provides 'static' WQKms.
felix@1825: 	
felix@1825: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@1825: 	  Added STATIC_WQKMS type.
felix@1825: 
sascha@1824: 2011-11-03  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1824: 
sascha@1824: 	* src/main/java/de/intevation/flys/jfree/XYDatasetToZeroMapper.java:
sascha@1824: 	  New. Maps series to zero to be compatible with XYDifferenceRenderer.
sascha@1824: 	  It returns an iterator over XYDatasets to enable splitting by NaNs,
sascha@1824: 	  which still needs to be implemented.
sascha@1824: 
sascha@1824: 	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
sascha@1824: 	  Uses a XYDatasetToZeroMapper now. Fixed package name.
sascha@1824: 
felix@1822: 2011-11-03  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1822: 
felix@1822: 	Added new matching options for theme-mappings to allow more
felix@1822: 	overspecification of defaults (e.g. now name,description-pattern and
felix@1822: 	master-artifacts attributes are matched). The first full match from
felix@1822: 	the configuration file is done.
felix@1822: 	New matching option in the masterAttr- field of a mapping are
felix@1822: 	super-basic until new use-cases come up.
felix@1822: 	Concrete new themes are point-styles of Ws when locations where chosen
felix@1822: 	to calculate.
felix@1822: 
felix@1822: 	* doc/conf/themes.xml: Added newly defined Themes.
felix@1822: 
felix@1822: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
felix@1822: 	  Put master-artifact in flys-context.
felix@1822: 
felix@1822: 	* src/main/java/de/intevation/flys/themes/ThemeMapping.java:
felix@1822: 	  Accept masterAttr in constructor.
felix@1822: 	  (masterAttrMatches): New, check masterAttr-condition against
felix@1822: 	  artifact.
felix@1822: 
felix@1822: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
felix@1822: 	  When creating ThemeMappings, pass in masterAttr.
felix@1822: 
felix@1822: 	* src/main/java/de/intevation/flys/themes/ThemeFactory.java:
felix@1822: 	  (getTheme): Evaluate masterAttr-condition, always return first full
felix@1822: 	  match.
felix@1822: 
felix@1821: 2011-11-03  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1821: 
felix@1821: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java:
felix@1821: 	  Added ARTIFACT key, documentation.
felix@1821: 
sascha@1820: 2011-11-03  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1820: 
sascha@1823: 	* src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java:
sascha@1823: 	  New. At the moment a pure copy of JFreeChart's XYDifferenceRenderer.
sascha@1823: 	  Needs to be refactored to cope with its limitations:
sascha@1823: 
sascha@1823: 	  - Series numbers need to be zero based. We have more than two series
sascha@1823: 	    in our diagrams.
sascha@1823: 
sascha@1823: 	  - Cannot handle definition holes indicated by NaNs. We have these
sascha@1823: 	    cases e.g. more than one "Fliessbereich".
sascha@1823: 
sascha@1823: 2011-11-03  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1823: 
sascha@1820: 	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
sascha@1820: 	  Reenabled dumping data to disk.
sascha@1820: 
sascha@1820: 2011-11-03  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1820: 
sascha@1820: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
sascha@1820: 	  Removed superfluous import.
sascha@1820: 
sascha@1818: 2011-11-03  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1818: 
sascha@1818: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
sascha@1818: 	  Use new pair in stack of results and connections because they are
sascha@1818: 	  always used in pairs. Maintaining two separate stacks is not
sascha@1818: 	  needed any longer.
sascha@1818: 
sascha@1817: 2011-11-03  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1817: 	
sascha@1817: 	* src/main/java/de/intevation/flys/utils/Pair.java: New. A generic pair.
sascha@1817: 
sascha@1817: 	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
sascha@1817: 	  Rewritten to useful as test bed for "Raum/Flaeche" operations.
sascha@1817: 
ingo@1816: 2011-11-02  Ingo Weinzierl <ingo@intevation.de>
ingo@1816: 
ingo@1816: 	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Added
ingo@1816: 	  setter methods for all parameters and removed the constructors. There is
ingo@1816: 	  just an empty constructor - all parameters need to be set via setter
ingo@1816: 	  methods.
ingo@1816: 
ingo@1816: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Modified the
ingo@1816: 	  creation of LayerInfo objects.
ingo@1816: 
ingo@1816: 	* src/main/java/de/intevation/flys/artifacts/model/DBLayerInfo.java:
ingo@1816: 	  Removed, because the internal structure and constructors of LayerInfo have
ingo@1816: 	  changed, so that we gonna use LayerInfo for all layers now.
ingo@1816: 
ingo@1816: 	* doc/conf/themes.xml: Modified the color definitions of
ingo@1816: 	  'floodmap.riveraxis' and 'floodmap.kms' themes and added a 'symbol' field
ingo@1816: 	  to 'floodmap.kms'.
ingo@1816: 
ingo@1816: 	* doc/conf/mapserver/symbols.sym,
ingo@1816: 	  doc/conf/mapserver/fontset.txt: New. Required by Mapserver.
ingo@1816: 
ingo@1816: 	* doc/conf/mapserver/db_layer.vm: Added an 'EXTENT' field that is filled
ingo@1816: 	  using LayerInfo.getExtent().
ingo@1816: 
ingo@1816: 	* doc/conf/mapserver/mapfile.vm: Modified FONTSET directory and added a
ingo@1816: 	  SYMBOLSET.
ingo@1816: 
ingo@1816: 	* src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: Added an
ingo@1816: 	  abstract method getGeometryType().
ingo@1816: 
ingo@1816: 	* src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java: Override
ingo@1816: 	  getGeometryType() of WMSDBArtifact. This Artifact provides "POINT"s.
ingo@1816: 
ingo@1816: 	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
ingo@1816: 	  Create new WMSDBLayerFacets with geometry type "LINE".
ingo@1816: 
ingo@1816: 	* src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java:
ingo@1816: 	  Added a 'geometryType' attribute and getter/setter methods. This attribute
ingo@1816: 	  determines the type of geometry provided by this database wms layer. Types
ingo@1816: 	  could be "POLYGON", "POINT", "LINE" and so on.
ingo@1816: 
ingo@1816: 	* src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java:
ingo@1816: 	  Added a 'symbol' attribute to the inner class Clazz.
ingo@1816: 
ingo@1816: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added a function to
ingo@1816: 	  parse the symbol field of a theme. This symbol is used for
ingo@1816: 	  MapserverStyle.Clazz.
ingo@1816: 
felix@1815: 2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1815: 
felix@1815: 	Apply point theme to heightmarks when imported in longitudinal
felix@1815: 	section diagram.
felix@1815: 
felix@1815: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@1815: 	  Added new FacetType HEIGHTMARK_POINTS.
felix@1815: 	
felix@1815: 	* src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java:
felix@1815: 	  Allow name to be given in constructor.
felix@1815: 	
felix@1815: 	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
felix@1815: 	  If heightmarks were loaded, give respective name in WKmsFacet
felix@1815: 	  generation.
felix@1815: 
felix@1815: 	* doc/conf/themes.xml: Added virtual "Points" and concrete
felix@1815: 	  heightmark_points - theme.
felix@1815: 	
felix@1815: 	* doc/conf/artifacts/winfo.xml: Made longitudinal_section output
felix@1815: 	  compatible with heightmarks_points.
felix@1815: 
felix@1815: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1815: 	  Render heightmarks like other wkms.
felix@1815: 	
felix@1815: 	* doc/conf/meta-data.xml: Changed heightmark ids such that it can be
felix@1815: 	  identified in StaticWKmsFacet .
felix@1815: 
felix@1814: 2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1814: 
felix@1814: 	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java:
felix@1814: 	  Documentation added.
felix@1814: 
felix@1813: 2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1813: 
felix@1813: 	* src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java:
felix@1813: 	  Fix bug where (wrong) active-attribute was set, doc.
felix@1813: 
felix@1812: 2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1812: 
felix@1812: 	Refactoring to allow mainvalues in both discharge and computed
felix@1812: 	discharge curve diagrams.
felix@1812: 
felix@1812: 	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java
felix@1812: 	(addPointsQW): New helper function.
felix@1812: 
felix@1812: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
felix@1812: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1812: 	  Moved doMainValueQAnnotations, doMainValueWAnnotations from child-
felix@1812: 	  to parent-class, extracetd doDischargeOut. Use
felix@1812: 	  StyledSeriesBuilder.addPointsQW .
felix@1812: 
felix@1811: 2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1811: 
felix@1811: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1811: 	  Removed logger/debugging noise.
felix@1811: 
felix@1810: 2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1810: 
felix@1810: 	1) Pass outputs name to artifacts getInitialFacetActivity().
felix@1810: 	2) Do not allow "gaps" in positions of facets in outputs in attributes
felix@1810: 	   of collection (prevent e.g. positions 1,3,5; will become 1,2,3
felix@1810: 	   instead).
felix@1810: 
felix@1810: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
felix@1810: 	  Pass outputname to artifacts getInitialFacetActivity(), prevent
felix@1810: 	  gaps in facets positions in outputs (1,3,10 become 1,2,3).
felix@1810: 
felix@1808: 2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1808: 
felix@1809: 	1) Give Artifacts information about the out when they have to decide
felix@1809: 	whether a given facet is initially in/active by adding parameter
felix@1809: 	to getInitialFacetActivity(+outputName).
felix@1809: 	2) Generate separate Set of MainValueFacets for discharge curves.
felix@1809: 
felix@1809: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
felix@1809: 	  src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
felix@1809: 	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
felix@1809: 	  src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java,
felix@1809: 	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
felix@1809: 	  (getInitialFacetActivity): Adjusted, new parameter outputName.
felix@1808: 	  Added MAINVALUES_{Q,W} definition.
felix@1808: 
felix@1809: 	* src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java,
felix@1809: 	  src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java:
felix@1809: 	  Accept name in constructor.
felix@1809: 
felix@1809: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1809: 	  Create second pair of MainValuesFacets, give distinguishable names.
felix@1809: 
felix@1807: 2011-11-02	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1807: 
felix@1807: 	Added compatibility of (computed)discharge-curve diagrams with
felix@1807: 	mainvalues.
felix@1807: 
felix@1807: 	* doc/conf/artifacts/winfo.xml: Added mainvalues to compatibility list
felix@1807: 	  of (computed) discharge curve outputs. These facet-definitionss can
felix@1807: 	  differ in names because we can can have up to 4 mainvalue facets in
felix@1807: 	  one state.
felix@1807: 
ingo@1806: 2011-11-01  Ingo Weinzierl <ingo@intevation.de>
ingo@1806: 
ingo@1806: 	* src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java: Determine
ingo@1806: 	  the extent of such WMS layer based on the list of RiverAxisKm objects
ingo@1806: 	  returned by the backend.
ingo@1806: 
ingo@1805: 2011-11-01  Ingo Weinzierl <ingo@intevation.de>
ingo@1805: 
ingo@1805: 	* doc/conf/meta-data.xml: Added a datacage node that represents a
ingo@1805: 	  kilometer WMS layer.
ingo@1805: 
ingo@1805: 	* doc/conf/conf.xml: Added a new Artifact WMSKmArtifact.
ingo@1805: 
ingo@1805: 	* doc/conf/themes.xml: Added a style for 'floodmap.kms' facets.
ingo@1805: 
ingo@1805: 	* doc/conf/artifacts/winfo.xml: Defined 'floodmap.kms' as valid floodmap
ingo@1805: 	  facet.
ingo@1805: 
ingo@1805: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
ingo@1805: 	  a 'floodmap.kms' facet.
ingo@1805: 
ingo@1805: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method to
ingo@1805: 	  determine the srid of a river based on its name.
ingo@1805: 
ingo@1805: 	* src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: New. This
ingo@1805: 	  Artifact should act as base Artifact for WMS layers that represent data
ingo@1805: 	  from database datastore.
ingo@1805: 
ingo@1805: 	* src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java: New. This
ingo@1805: 	  Artifact is used to generate facets for kilometer WMS layers.
ingo@1805: 
ingo@1805: 	* src/main/resources/messages.properties,
ingo@1805: 	  src/main/resources/messages_de_DE.properties,
ingo@1805: 	  src/main/resources/messages_en.properties,
ingo@1805: 	  src/main/resources/messages_de.properties: Added default descriptions
ingo@1805: 	  for 'floodmap.kms' facets.
ingo@1805: 
felix@1804: 2011-11-01	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1804: 
felix@1804: 	Fix incompilability.
felix@1804: 
felix@1804: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelInfoState.java:
felix@1804: 	  Adjust to changed CrossSectionFacet.
felix@1804: 
felix@1803: 2011-11-01	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1803: 
felix@1803: 	Minor preparations to handle multiple cross sections in one
felix@1803: 	diagram/artifact, faking certain aspects (e.g. ability to display
felix@1803: 	multiple cross sections, but let these fetch the exactly same data
felix@1803: 	for now).
felix@1803: 
felix@1803: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1803: 	  Parameterize but fake access to cross-section (always take first
felix@1803: 	  one).
felix@1803: 	  (getCrossSectionName,getCrossSectionNames): Renamed, access names
felix@1803: 	  of all cross-sections, so that at least facets with different names
felix@1803: 	  are created (they will still deliver the same data).
felix@1803: 
felix@1803: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java:
felix@1803: 	  Allow indexing.
felix@1803: 
felix@1803: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
felix@1803: 	  Index created cross-sections.
felix@1803: 
felix@1802: 2011-11-01	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1802: 
felix@1802: 	Show multiple water lines and facets in cross-section diagram if
felix@1802: 	multiple waterlevel values had been entered.
felix@1802: 
felix@1802: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java
felix@1802: 	  (appendBackgroundActivity): Made static.
felix@1802: 	  (getWaterLines): Add 'idx' argument to specify index of queried
felix@1802: 			   waterlevel.
felix@1802: 
felix@1802: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
felix@1802: 	  Add index.
felix@1802: 
felix@1802: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
felix@1802: 	  Add one Facet for each of the computed waterlevels.
felix@1802: 
sascha@1801: 2011-10-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1801: 
sascha@1801: 	* src/main/java/de/intevation/flys/artifacts/geom/VectorUtils.java:
sascha@1801: 	  Added code to calculate intersection points.
sascha@1801: 
sascha@1801: 	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java:
sascha@1801: 	  Added polygons for trivial cases. WIP
sascha@1801: 
sascha@1800: 2011-10-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1800: 
sascha@1800: 	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java:
sascha@1800: 	  Made it compilable again.
sascha@1800: 
sascha@1799: 2011-10-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1799: 
sascha@1799: 	* src/main/java/de/intevation/flys/artifacts/geom/VectorUtils.java:
sascha@1799: 	  Made X() and Y() access macros public.
sascha@1799: 
sascha@1799: 	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java:
sascha@1799: 	  More code. WIP.
sascha@1799: 
sascha@1798: 2011-10-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1798: 
sascha@1798: 	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java:
sascha@1798: 	  Handle start points when building polygons. Work in progress.
sascha@1798: 
sascha@1797: 2011-10-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1797: 
sascha@1797: 	* src/main/java/de/intevation/flys/artifacts/geom/VectorUtils.java:
sascha@1797: 	  New. Vector operations on Point2D.
sascha@1797: 
sascha@1797: 	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java:
sascha@1797: 	  Moved vector operations to VectorUtils.
sascha@1797: 
sascha@1796: 2011-10-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1796: 
sascha@1796: 	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
sascha@1796: 	  Do not call size() in for loop again and again.
sascha@1796: 
sascha@1795: 2011-10-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1795: 
sascha@1795: 	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java:
sascha@1795: 	  Interim check in. Work in progress.
sascha@1795: 
sascha@1794: 2011-10-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1794: 
sascha@1794: 	* src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java: New.
sascha@1794: 	  Polygon class to help creating "Raum/Flaeche" renderers with gaps in
sascha@1794: 	  their definitions. WORK IN PROGRESS!
sascha@1794: 
ingo@1793: 2011-10-28  Ingo Weinzierl <ingo@intevation.de>
ingo@1793: 
ingo@1793: 	* doc/conf/themes.xml: Added a default theme for the riveraxis used in the
ingo@1793: 	  floodmap.
ingo@1793: 
ingo@1793: 	* src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java:
ingo@1793: 	  New. This class is used by ThemeUtil to create a style which is
ingo@1793: 	  compatible for Mapserver-
ingo@1793: 
ingo@1793: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added a method to
ingo@1793: 	  retrieve a Mapserver compatible style (as string) based on a given
ingo@1793: 	  Document (that comes from CollectionItem's attribute).
ingo@1793: 
ingo@1793: 	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java:
ingo@1793: 	  Implemented the setStyle() and getStyle() methods.
ingo@1793: 
ingo@1793: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Added a
ingo@1793: 	  new parameter 'style' to createDatabaseLayer(). This parameter is set on
ingo@1793: 	  LayerInfo.
ingo@1793: 
ingo@1793: 	* src/main/java/de/intevation/flys/exports/MapGenerator.java: Create
ingo@1793: 	  Mapserver compatible styles and call createDatabaseLayer() with this
ingo@1793: 	  style.
ingo@1793: 
ingo@1792: 2011-10-28  Ingo Weinzierl <ingo@intevation.de>
ingo@1792: 
ingo@1792: 	* doc/conf/artifacts/winfo.xml: Defined "floodmap.riveraxis" and
ingo@1792: 	  "floodmap.wmsbackground" as compatible layers for the floodmap output.
ingo@1792: 
ingo@1792: 	* doc/conf/mapserver/db_layer.vm: New. This layer template is used for
ingo@1792: 	  Mapserver layers with database datastore.
ingo@1792: 
ingo@1792: 	* doc/conf/mapserver/dbconnection.include: New. The database configuration
ingo@1792: 	  used in the db_layer template.
ingo@1792: 
ingo@1792: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method
ingo@1792: 	  getUserWMSUrl() that returns the URL to the user specific WMS server.
ingo@1792: 	  This method requires a UUID of an Artifact to identify the owner of the
ingo@1792: 	  Artifact.
ingo@1792: 
ingo@1792: 	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: Use
ingo@1792: 	  FLYSUtils.getUserWMSUrl() to create the URL to the user WMS for
ingo@1792: 	  WMSLayerFacets creation.
ingo@1792: 
ingo@1792: 	* src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java:
ingo@1792: 	  New. Subclasses WMSLayerFacet to save data and filter parameters used
ingo@1792: 	  for database storage in Mapfiles.
ingo@1792: 
ingo@1792: 	* src/main/java/de/intevation/flys/artifacts/model/DBLayerInfo.java: New.
ingo@1792: 	  Subclasses LayerInfo to save database relevant parameters.
ingo@1792: 
ingo@1792: 	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
ingo@1792: 	  Creates new WMSDBLayerFacets, so that the riveraxis layer data is
ingo@1792: 	  fetched from database.
ingo@1792: 
ingo@1792: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Added a
ingo@1792: 	  public method that allows creating layers (type LINE) based on
ingo@1792: 	  WMSDBLayerFacets.
ingo@1792: 
ingo@1792: 	* src/main/java/de/intevation/flys/exports/MapGenerator.java: Enabled
ingo@1792: 	  support for Facets other than "floodmap.wsplgen" and "floodmap.barriers".
ingo@1792: 	  Those other Facets are supposed to be WMSDBLayerFacets.
ingo@1792: 
felix@1791: 2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1791: 
felix@1791: 	Refactored, added StyledSeriesBuilder to unify adding points to
felix@1791: 	XYSeries.
felix@1791: 
felix@1791: 	* src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java:
felix@1791: 	  New class to help with adding points to XYSeries.
felix@1791: 
felix@1791: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
felix@1791: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
felix@1791: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1791: 	  Use StyledSeriesBuilder to add points to series.
felix@1791: 
felix@1790: 2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1790: 
felix@1790: 	Added DC-conf, such that static data can be loaded from w-difference
felix@1790: 	diagrams datacage.
felix@1790: 
felix@1790: 	* doc/conf/meta-data.xml: Minor "refactoring" (definition of two
felix@1790: 	  macros, allow certain static data to be loaded via datacage to
felix@1790: 	  w-difference diagrams, too.
felix@1790: 
felix@1789: 2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1789: 
felix@1789: 	Load and display annotations in w-differences, minor polishing.
felix@1789: 
felix@1789: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
felix@1789: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1789: 	  Use FacetType 'instead' of string. Allow Annotations in
felix@1789: 	  WDifferences- diagram.
felix@1789: 
felix@1789: 	* doc/conf/meta-data.xml: Recommend annotations in w-differences case.
felix@1789: 
felix@1788: 2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1788: 
felix@1788: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: 
felix@1788: 	  Survive case where a given output doesnt exist in compatibility
felix@1788: 	  matrix.
felix@1788: 
felix@1787: 2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1787: 
felix@1787: 	* src/main/java/de/intevation/flys/artifacts/states/StaticState.java:
felix@1787: 	  Added simpler constructor.
felix@1787: 	
felix@1787: 	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
felix@1787: 	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1787: 	  Adjusted construction of StaticStates.
felix@1787: 
felix@1786: 2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1786: 
felix@1786: 	* doc/conf/artifacts/winfo.xml: Allow Annotations in longitudinal and
felix@1786: 	  w-differences diagrams.
felix@1786: 
felix@1785: 2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1785: 
felix@1785: 	Use artifacts configuration (e.g. winfo.xml) to define which facets
felix@1785: 	can be used in which output. Hide no-matches.
felix@1785: 
felix@1785: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java,
felix@1785: 	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
felix@1785: 	  Added use of "compatibility matrix". Only include facets in in
felix@1785: 	  collections description document that are marked compatible in the
felix@1785: 	  masterartifacts configuration (e.g. winfo.xml).
felix@1785: 
felix@1784: 2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1784: 
felix@1784: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java
felix@1784: 	  (mergeAttributes, getMasterArtifact): Extraced, updated caller.
felix@1784: 	  Cosmetics to reduce indentation one step.
felix@1784: 
felix@1783: 2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1783: 
felix@1783: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java
felix@1783: 	  (getStateHistoryIds): New, return list of current and all previous
felix@1783: 	  state ids.
felix@1783: 
ingo@1782: 2011-10-28  Ingo Weinzierl <ingo@intevation.de>
ingo@1782: 
ingo@1782: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1782: 	  Trigger the re-creation of FLYS mapfile if endOfLife() of this state is
ingo@1782: 	  called.
ingo@1782: 
ingo@1781: 2011-10-28  Ingo Weinzierl <ingo@intevation.de>
ingo@1781: 
ingo@1781: 	* doc/conf/mapserver/mapfile.vm: The "layers" injected by VelocityEngine is
ingo@1781: 	  now used to include layers. A single string in this list represents the
ingo@1781: 	  path to a file which contains a LAYER section for Mapserver' Mapfile.
ingo@1781: 
ingo@1781: 	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Removed the
ingo@1781: 	  update() call of MapfileGenerator. Mapfiles are generated by MapGenerator
ingo@1781: 	  only which requires a FLYSArtifactCollection.doOut()!
ingo@1781: 
ingo@1781: 	* src/main/java/de/intevation/flys/exports/MapGenerator.java: Call update()
ingo@1781: 	  of MapfileGenerator to trigger the re-creation of mapfile(s).
ingo@1781: 
ingo@1781: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Collect all
ingo@1781: 	  LAYER snippets from filesystem and inject the filepath for each snippet
ingo@1781: 	  into the Mapfile template.
ingo@1781: 
felix@1780: 2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1780: 
felix@1780: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java,
felix@1780: 	  src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java,
felix@1780: 	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
felix@1780: 	  Cosmetics, doc.
felix@1780: 
felix@1779: 2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1779: 
felix@1779: 	Let OutputParser and AttributeParser collect all facets on the way.
felix@1779: 
felix@1779: 	* src/main/java/de/intevation/flys/collections/OutputParser.java,
felix@1779: 	  src/main/java/de/intevation/flys/collections/AttributeParser.java:
felix@1779: 	  Collect all facets while iterating over Outputs and Attributes,
felix@1779: 	  documentation added.
felix@1779: 
felix@1777: 2011-10-28	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1777: 
felix@1777: 	Extracted getFlysContext from FLYSArtifacts into FLYSUtils.
felix@1777: 
felix@1777: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java
felix@1777: 	  (getFlysContext): Added, extracted from FLYSArtifact.
felix@1777: 	
felix@1777: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
felix@1777: 	  (getFlysContext): Moved to FLYSUtils, updated callers.
felix@1777: 	
felix@1777: 	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
felix@1777: 	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1777: 	  Update callers to getFlysContext.
felix@1777: 
ingo@1775: 2011-10-28  Ingo Weinzierl <ingo@intevation.de>
ingo@1775: 
felix@1778: 	* src/main/java/de/intevation/flys/exports/MapGenerator.java: Bugfix:
felix@1778: 	  Catch IOException - flys-artifacts compiles again.
felix@1778: 
felix@1778: 2011-10-28  Ingo Weinzierl <ingo@intevation.de>
felix@1778: 
ingo@1775: 	* doc/conf/artifacts/winfo.xml: Defined "floodmap.barriers" as valid facet
ingo@1775: 	  for floodmaps.
ingo@1775: 
ingo@1775: 	* doc/conf/mapserver/shapefile_layer.vm: New. Currently a copy of
ingo@1775: 	  layer.vm. This template will evolve to a special mapserver layer
ingo@1775: 	  template with a shapefile data source.
ingo@1775: 
ingo@1775: 	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: Fixed broken
ingo@1775: 	  facet name of barriers.
ingo@1775: 
ingo@1775: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Added
ingo@1775: 	  public methods for creating wsplgen and barriers layer files for
ingo@1775: 	  mapserver.
ingo@1775: 
ingo@1775: 	* src/main/java/de/intevation/flys/exports/MapGenerator.java: Use
ingo@1775: 	  MapfileGenerator to create new layer files for wsplgen and barriers.
ingo@1775: 
ingo@1774: 2011-10-28  Ingo Weinzierl <ingo@intevation.de>
ingo@1774: 
ingo@1774: 	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Added new
ingo@1774: 	  method gerRiverBoundary() which returns an Envelope object (which
ingo@1774: 	  represents the bounding box of a Geometry) of a riveraxis specified by its
ingo@1774: 	  rivername.
ingo@1774: 
ingo@1774: 	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java: Use
ingo@1774: 	  Geometry.getRiverBoundary() to determine the max extent of a river.
ingo@1774: 
ingo@1774: 	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java,
ingo@1774: 	  src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java: Use
ingo@1774: 	  JTS Envelope to save the bounding boxes of WMS layers.
ingo@1774: 
ingo@1774: 	* src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java:
ingo@1774: 	  Adapted the code to apply the changes in GeometryUtils (use Envelope to
ingo@1774: 	  determine the max extent of the river axis).
ingo@1774: 
ingo@1774: 	* src/main/java/de/intevation/flys/exports/MapGenerator.java: New (work in
ingo@1774: 	  progress). This Generator will currently return a map configuration in XML
ingo@1774: 	  which consists of parameters required by OpenLayers to create a map.
ingo@1774: 
ingo@1774: 	* doc/conf/conf.xml: Registered the new MapGenerator.
ingo@1774: 
felix@1773: 2011-10-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1773: 
felix@1773: 	* doc/conf/meta-data.xml: Do not recommend historical data to load
felix@1773: 	  when having computational discharge curves.
felix@1773: 
felix@1772: 2011-10-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1772: 
felix@1772: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
felix@1772: 	  Reduce noise, given "error" message was more of "debug" nature.
felix@1772: 
felix@1771: 2011-10-27	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1771: 
felix@1771: 	Restore mapping of state id to facets (essentially revert, revision
felix@1771: 	3083 and 3088).
felix@1771: 
felix@1771: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1771: 	  (getInitialFacetActivity): Be more explicit on which facets to
felix@1771: 	  introduce inactivated.
felix@1771: 
felix@1771: 	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
felix@1771: 	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1771: 	  Minor refactoring, declare a string final static.
felix@1771: 
felix@1771: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
felix@1771: 	  src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java,
felix@1771: 	  src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
felix@1771: 	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
felix@1771: 	  src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java,
felix@1771: 	  src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
felix@1771: 	  src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java,
felix@1771: 	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java,
felix@1771: 	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
felix@1771: 	  Restore association from state id to facets.
felix@1771: 
felix@1770: 2011-10-26	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1770: 
felix@1770: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java,
felix@1770: 	  src/main/java/de/intevation/flys/collections/OutputParser.java:
felix@1770: 	  Cosmetics, documentation.
felix@1770: 
felix@1769: 2011-10-26	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1769: 
felix@1769: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1769: 	  Prepare rendering of "other/static wkms" (functional) and
felix@1769: 	  w-differences (not yet fully functional).
felix@1769: 
felix@1768: 2011-10-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1768: 
felix@1768: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java,
felix@1768: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
felix@1768: 	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
felix@1768: 	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1768: 	  Cosmetics.
felix@1768: 
felix@1767: 2011-10-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1767: 
felix@1767: 	* src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java:
felix@1767: 	  Do not store facets in a map from stateId to list of facets, but in
felix@1767: 	  a pure list instead.
felix@1767: 
felix@1766: 2011-10-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1766: 
felix@1766: 	* doc/conf/artifacts/winfo.xml: Adjusted to newer semantics,
felix@1766: 	  minor cleanups.
felix@1766: 
felix@1765: 2011-10-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1765: 
felix@1765: 	Resolve association of facets to states in artifacts. This eases
felix@1765: 	merging of outputs and facets and inhibition of unwanted outputs
felix@1765: 	substiantially (at the price of slightly more expensive merging).
felix@1765: 	Also, the semantics of artifacts configuration files (e.g. winfo.xml)
felix@1765: 	is changed (facet elements within an output elements are used for
felix@1765: 	merging).
felix@1765: 
felix@1765: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
felix@1765: 	  src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java,
felix@1765: 	  src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
felix@1765: 	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
felix@1765: 	  src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java,
felix@1765: 	  src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
felix@1765: 	  src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java,
felix@1765: 	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
felix@1765: 	  Do not store facets in a map from stateId to list of facets, but in
felix@1765: 	  a pure list instead.
felix@1765: 
felix@1764: 2011-10-26  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1764: 
felix@1764: 	* doc/conf/meta-data.xml: Added dc configuration for some data
felix@1764: 	  that can be loaded from longitudinal section diagrams.
felix@1764: 
felix@1763: 2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1763: 
felix@1763: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
felix@1763: 	  Cosmetics, docs.
felix@1763: 
felix@1762: 2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1762: 
felix@1762: 	Let Qs in Longitudinal Diagram be inactive, initally.
felix@1762: 
felix@1762: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1762: 	  (getInitialFacetActivity): Do not let Facets ending with a 'q'
felix@1762: 	  enter in active state.
felix@1762: 
felix@1761: 2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1761: 
felix@1761: 	* doc/conf/meta-data.xml: Fix broken datacage config.
felix@1761: 
felix@1759: 2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1759: 
felix@1760: 	* doc/conf/meta-data.xml: Configured to include correct id to
felix@1760: 	  clone artifact that produces w-diff.
felix@1760: 
felix@1760: 2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1760: 
felix@1760: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
felix@1759: 	  Revert correct behaviour of Annotations (the small axis tick shall
felix@1759: 	  always be drawn). Minor refactoring.
felix@1759: 
felix@1758: 2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1758: 
felix@1758: 	* doc/conf/meta-data.xml: Added configuration to include differences
felix@1758: 	  in datacage when longitudinal sections are shown (yet not
felix@1758: 	  functional).
felix@1758: 
felix@1757: 2011-10-25  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1757: 
felix@1757: 	* doc/conf/meta-data.xml: Cosmetics.
felix@1757: 
felix@1756: 2011-10-24  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1756: 
felix@1756: 	* doc/conf/themes.xml: Added theme for w_differences facets.
felix@1756: 
felix@1756: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java
felix@1756: 	  (createSecondAxisRange): Survive parameter-nullness for now.
felix@1756: 	  Added documentation.
felix@1756: 
sascha@1754: 2011-10-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1754: 
sascha@1754: 	* src/main/java/de/intevation/flys/themes/ThemeAccess.java:
sascha@1754: 	  New. Caching wrapper around an XML document theme. It uses ThemeUtil
sascha@1754: 	  to access the values and stores them in instance variable.
sascha@1754: 	  Background: ThemeUtil use XPath a lot which is expensive.
sascha@1754: 
sascha@1754: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java,
sascha@1754: 	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
sascha@1754: 	  Use ThemeAccess to style the annotations.
sascha@1754: 
sascha@1754: 	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java:
sascha@1754: 	  Removed some XPath strings. They are in ThemeUtil.
sascha@1754: 
raimund@1753: 2011-10-21  Raimund Renkert <raimund.renkert@intevation.de>
raimund@1753: 
raimund@1753: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
raimund@1753: 	  Added methods to parse further attributes.
raimund@1753: 
raimund@1753: 	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java:
raimund@1753: 	  Apply the theme attributes and use ThemeUtils to get the attribute values.
raimund@1753: 
raimund@1753: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
raimund@1753: 	  Removed the spamy debug output.
raimund@1753: 
sascha@1752: 2011-10-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1752: 
sascha@1752: 	To obtain the size of a diagram it is rendered twice. The
sascha@1752: 	second time the generated image is omitted so the concrete
sascha@1752: 	rendered image is not needed. To save CPU cycles in this pass 
sascha@1752: 	the image is rendered to to /dev/null Graphics2D object.
sascha@1752: 
sascha@1752: 	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
sascha@1752: 	  Added boolean system property "info.rendering.nop.graphics" (default: false).
sascha@1752: 	  With this property set the info rendering is done via a new
sascha@1752: 	  NOPGraphics2D opbject which does not render the image.
sascha@1752: 
sascha@1752: 	* src/main/java/de/intevation/flys/java2d/NOPGraphics2D.java:
sascha@1752: 	  New. Implements java.awt.Graphics2D trivial empty methods.
sascha@1752: 	  This prevents rendering.
sascha@1752: 
sascha@1752: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
sascha@1752: 	  Commented out spamy debug output
felix@1756: 
raimund@1751: 2011-10-21  Raimund Renkert <raimund.renkert@intevation.de>
raimund@1751: 
raimund@1751: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
raimund@1751: 	  Draw the text background and use orientation attribute.
raimund@1751: 
raimund@1750: 2011-10-21  Raimund Renkert <raimund.renkert@intevation.de>
raimund@1750: 
raimund@1750: 	* doc/conf/themes.xml:
raimund@1750: 	  Renamed 'textbackground' to 'backgroundcolor' to have 'color' in the
raimund@1750: 	  attribute name.
raimund@1750: 
raimund@1750: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
raimund@1750: 	  Process text attributes correctly.
raimund@1750: 
sascha@1749: 2011-10-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1749: 
sascha@1749: 	* src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java:
sascha@1752: 	  New. Service to lookup the Nth nearest neighbors for a set of given
sascha@1749: 	  cross section ids and kms.
sascha@1749: 	
sascha@1749: 	* doc/conf/conf.xml: Registered service.
sascha@1749: 
sascha@1749: 	* doc/conf/cache.xml: Cache config.
sascha@1749: 
sascha@1749: 	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java,
sascha@1749: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
sascha@1749: 	  Removed superfluous imports.
sascha@1749: 
raimund@1748: 2011-10-20  Raimund Renkert <raimund.renkert@intevation.de>
raimund@1748: 
raimund@1748: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
raimund@1748: 	  Added methods to extract further attributes from theme.
raimund@1748: 
ingo@1747: 2011-10-20  Ingo Weinzierl <ingo@intevation.de>
ingo@1747: 
ingo@1747: 	* doc/conf/themes.xml: Added main value themes for longitudinal section
ingo@1747: 	  charts.
ingo@1747: 
ingo@1747: 	* src/main/java/de/intevation/flys/themes/ThemeMapping.java: New. This
ingo@1747: 	  class stores the name of a facet, the related theme and a pattern
ingo@1747: 	  string.
ingo@1747: 
ingo@1747: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
ingo@1747: 	  Read the pattern string and store a list of ThemeMapping objects in the
ingo@1747: 	  FLYSContext.
ingo@1747: 
ingo@1747: 	* src/main/java/de/intevation/flys/themes/ThemeFactory.java: Modified
ingo@1747: 	  getTheme() which now takes the FLYSContext, the name of a facet and an
ingo@1747: 	  optional pattern string. Now, we can have specialized Themes for each
ingo@1747: 	  chart type. E.g. the facet "longitudinal_section.w" maps the default
ingo@1747: 	  Theme for W lines in longitudinal section charts. If the optional
ingo@1747: 	  pattern string matches the pattern ".*(HQ1000)(\D.*)*", the ThemeFactory
ingo@1747: 	  will return the Theme "LongitudinalSectionW_HQ1000".
ingo@1747: 
ingo@1747: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1747: 	  Use the description of a facet as pattern string to get the relevant
ingo@1747: 	  Theme from ThemeFactory.
ingo@1747: 
raimund@1746: 2011-10-20  Raimund Renkert <raimund.renkert@intevation.de>
raimund@1746: 
raimund@1746: 	* doc/conf/themes.xml:
raimund@1746: 	  Added new theme attributes.
raimund@1746: 
felix@1745: 2011-10-19  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1745: 
felix@1745: 	Fix WDifference plots where masterartifact has no range set.
felix@1745: 
felix@1745: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1745: 	  (addSubtitles): Overridden, the master artifact has no
felix@1745: 	  range.
felix@1745: 
felix@1744: 2011-10-19  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1744: 
felix@1744: 	Fix masterartifact in collections in cases where the original
felix@1744: 	masterartifacts facets do not come first in certain list. Query
felix@1744: 	'backend'/db instead.
felix@1744: 
felix@1744: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
felix@1744: 	  Set 'real' master artifact, defined to be oldest belonging to this
felix@1744: 	  collection.
felix@1744: 
ingo@1743: 2011-10-19  Ingo Weinzierl <ingo@intevation.de>
ingo@1743: 
ingo@1743: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java,
ingo@1743: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java,
ingo@1743: 	  src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java,
ingo@1743: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
ingo@1743: 	  Modified the method signature of createStaticData() which now also
ingo@1743: 	  requires a FLYSArtifact.
ingo@1743: 
ingo@1743: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
sascha@1749: 	  Override createStaticData() to create titles for Qs manually - we want
ingo@1743: 	  to display the named main values if existing for the selected Qs.
ingo@1743: 
raimund@1742: 2011-10-19  Raimund Renkert <raimund.renkert@intevation.de>
raimund@1742: 
raimund@1742: 	* doc/conf/themes.xml:
raimund@1742: 	  ComputedDischargeCurveW and ComputedDischargeCurveQ inherit attributes from
raimund@1742: 	  theme 'Text'.
raimund@1742: 
sascha@1741: 2011-10-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1741: 
sascha@1741: 	Fix for flys/issue316
sascha@1741: 
sascha@1741: 	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java: Added
sascha@1741: 	  constructor to not sort the data.
sascha@1741: 
sascha@1741: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
sascha@1741: 	  Use the not sorting constructor of StyledXYSeries.
sascha@1741: 
ingo@1740: 2011-10-19  Ingo Weinzierl <ingo@intevation.de>
ingo@1740: 
ingo@1740: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
ingo@1740: 	  moved the code to create WSP W and Q facet names to FLYSUtils.
ingo@1740: 
ingo@1740: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: New functions for
ingo@1740: 	  creating WSP W and Q facet names and for querying a named main value
ingo@1740: 	  based on a given gauge and value. The names of W and Q facets will now
ingo@1740: 	  depend on the selected Q and Q mode: if the mode is "q at gauge" and a
ingo@1740: 	  named value is found for the given value, the facet's name contains the
ingo@1740: 	  named value instead of the value itself.
ingo@1740: 
felix@1739: 2011-10-19  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1739: 
felix@1739: 	Fix datacage configuration to let client load ZUS and flood
felix@1739: 	protections.
felix@1739: 
felix@1739: 	* doc/conf/meta-data.xml: Use 'ids' instead of 'id' to help client.
felix@1739: 
raimund@1738: 2011-10-19  Raimund Renkert <raimund.renkert@intevation.de>
raimund@1738: 
raimund@1738: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
raimund@1738: 	  Added methods to parse text attributes from theme document.
raimund@1738: 
raimund@1738: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java,
raimund@1738: 	  src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
raimund@1738: 	  Apply a theme to axis annotations.
raimund@1738: 
felix@1737: 2011-10-19	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1737: 
felix@1737: 	Create (data) Label from data string (client will be adjusted to send
felix@1737: 	the name).
felix@1737: 
felix@1737: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
felix@1737: 	  Create label from input data string, documentation added, junk
felix@1737: 	  removed.
felix@1737: 
sascha@1736: 2011-10-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1736: 
sascha@1736: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java(zoom):
sascha@1736: 	  Do not crash if no axis is given.
sascha@1736: 
ingo@1735: 2011-10-19  Ingo Weinzierl <ingo@intevation.de>
ingo@1735: 
ingo@1735: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added
ingo@1735: 	  getFormat() which extracts the format string from XML request document.
ingo@1735: 
ingo@1735: 	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java: Adapted
ingo@1735: 	  method signatures of exportImage(), exportSVG() and exportPDF(). All
ingo@1735: 	  methods now take a CallContext object which stores extra chart export
ingo@1735: 	  parameters.
ingo@1735: 
ingo@1735: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@1735: 	  Enabled PDF and SVG chart exports based on the "format" string given in
ingo@1735: 	  the XML request document.
ingo@1735: 
felix@1734: 2011-10-18  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1734: 
felix@1734: 	Simplify rendereing W(Q)Kms in WDifferencesCurveGenerator.
felix@1734: 
felix@1734: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1734: 	  (doWOut, doWOut): Simplified.
felix@1734: 
felix@1733: 2011-10-18  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1733: 
felix@1733: 	Render zus and flood-protections in WDifferences-diagrams.
felix@1733: 
felix@1733: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1733: 	  Added basic respect of "other.wkms"- facets.
felix@1733: 
felix@1732: 
felix@1731: 2011-10-18  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1731: 
felix@1731: 	Adjusted Datacage-Configuration to fetch "extra longitudinal...."
felix@1731: 	(.zus) - waterlevels in certain case (in system-part).
felix@1731: 
felix@1731: 	* doc/conf/meta-data.xml: Adjusted to present extra-kms with
felix@1731: 	  staticwkms factory in certain case.
felix@1731: 
raimund@1730: 2011-10-17  Raimund Renkert <raimund.renkert@intevation.de>
raimund@1730: 
raimund@1730: 	* doc/conf/themes.xml:
raimund@1730: 	  Added new virtual theme for text with the attributes 'font', 'textcolor'
raimund@1730: 	  and 'textsize'.
raimund@1730: 
felix@1729: 2011-10-18  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1729: 
felix@1729: 	Give StaticWKmsArtifacts proper names, and pre-deselect them.
felix@1729: 
felix@1729: 	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
felix@1729: 	  (getInitialFacetActivity): Overridden to let facets enter plot
felix@1729: 	  inactively.
felix@1729: 	  (setup): Give Facets the name of the Wst.
felix@1729: 
felix@1729: 	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
felix@1729: 	  Refactored to expose getWKmsName separately.
felix@1729: 
felix@1728: 2011-10-18  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1728: 
felix@1728: 	Adjusted Datacage-Configuration to fetch flood-protections when
felix@1728: 	waterlevels are requested (in system-part).
felix@1728: 
felix@1728: 	* doc/conf/meta-data.xml: Adjusted to present flood-protections with
felix@1728: 	  staticwkms factory in certain case.
felix@1728: 
felix@1727: 2011-10-18  Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1727: 
felix@1727: 	Register staticwkms factory.
felix@1727: 
felix@1727: 	* doc/conf/conf.xml: Register staticwkms factory to spawn StaticWKms-
felix@1727: 	  Artifacts.
felix@1727: 
felix@1726: 2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1726: 
felix@1726: 	Fetch name of static WKms.
felix@1726: 
felix@1726: 	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
felix@1726: 	  Removed dependence on "kind", but fetch name for created WKms.
felix@1726: 	
felix@1726: 	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
felix@1726: 	  Remove dependence on Kind.
felix@1726: 
felix@1725: 2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1725: 
felix@1725: 	Store parameterization in data, not in Artifact.
felix@1725: 
felix@1725: 	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
felix@1725: 	  Resolve col_pos and wst_id field, use data instead.
felix@1725: 
felix@1724: 2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1724: 
felix@1724: 	Add convenience-method to add defaultdata (string).
felix@1724: 
felix@1724: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
felix@1724: 	  (addStringData): Add Default (String) Data .
felix@1724: 
felix@1723: 2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1723: 
felix@1723: 	Add a new Artifact and Facet (StaticWKmsArtifact, WKmsFacet) to
felix@1723: 	access WKms obtainable with the WKmsFactory.
felix@1723: 
felix@1723: 	* src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java:
felix@1723: 	  New, artifact with single state to get WKms from WKmsFactory.
felix@1723: 	
felix@1723: 	* src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java:
felix@1723: 	  New Facet to display W over km.
felix@1723: 	
felix@1723: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@1723: 	  Added new type name.
felix@1723: 
felix@1722: 2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1722: 
felix@1722: 	Add WKMsFactory to access 'static' wst-data.
felix@1722: 
felix@1722: 	* src/main/java/de/intevation/flys/artifacts/model/StaticWKmsCacheKey.java:
felix@1722: 	  Cache Key for the static WKms data.
felix@1722: 
felix@1722: 	* src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java:
felix@1722: 	  New, creates WKms from wst-id and column. Does not yet fetch the
felix@1722: 	  name.
felix@1722: 
felix@1722: 	* doc/conf/cache.xml: Added cache configuration for static wkms data.
felix@1722: 
felix@1721: 2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1721: 
felix@1721: 	Cosmetics, docs.
felix@1721: 
felix@1721: 	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
felix@1721: 	  src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java,
felix@1721: 	  src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java,
felix@1721: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
felix@1721: 	  src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java:
felix@1721: 	  Cosmetics, docs.
felix@1721: 
felix@1720: 2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1720: 
felix@1720: 	* src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java:
felix@1720: 	  Added constructor that takes name, docs.
felix@1720: 
felix@1719: 2011-10-18	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1719: 
felix@1719: 	Fix issue that Annotations do not come with theme/style.
felix@1719: 	
felix@1719: 	* doc/conf/themes.xml: Added "Annotations" default style.
felix@1719: 
felix@1719: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1719: 	  Set style of annotations, minor cosmetics.
felix@1719: 
sascha@1718: 2011-10-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1718: 
sascha@1718: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
sascha@1718: 	  Made inner class ThemeList static.
sascha@1718: 	  s/new Integer(small)/Integer.valueOf(small)/
sascha@1718: 
ingo@1717: 2011-10-17  Ingo Weinzierl <ingo@intevation.de>
ingo@1717: 
ingo@1717: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1717: 	  The inner class ThemeList makes now use of ManagedDomFacet to read the
ingo@1717: 	  attributes of Facets saved in the Collection's attribute.
ingo@1717: 
sascha@1716: 2011-10-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1716: 
sascha@1716: 	flys/issue314: Variables in datacage are now case insensitive.
sascha@1716: 	(H2 returns meta data variables uppercase)
sascha@1716: 
sascha@1716: 	* doc/conf/meta-data.xml:
sascha@1716: 	  Made a statement more precise. Added some debug output.
sascha@1716: 
sascha@1716: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java:
sascha@1716: 	  Use uppercase variable names.
sascha@1716: 
sascha@1716: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java,
sascha@1716: 	  src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java,
sascha@1716: 	  src/main/java/de/intevation/flys/artifacts/datacage/templating/FunctionResolver.java,
sascha@1716: 	  src/main/java/de/intevation/flys/artifacts/datacage/templating/ResultData.java:
sascha@1716: 	  Variables are now treated as uppercase.
sascha@1716: 
sascha@1716: 	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
sascha@1716: 	  Input variables are now treated uppercase.
sascha@1716: 
ingo@1715: 2011-10-17  Ingo Weinzierl <ingo@intevation.de>
ingo@1715: 
ingo@1715: 	* src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java,
ingo@1715: 	  src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java,
ingo@1715: 	  src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java:
ingo@1715: 	  Prepared Facets to support a "visible" attribute.
ingo@1715: 
ingo@1715: 	* src/main/java/de/intevation/flys/collections/OutputParser.java: Adapted
ingo@1715: 	  the constructor call of ManagedFacetAdapter.
ingo@1715: 
ingo@1715: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1715: 	  The inner class ThemeList now supports the "visible" attribute of
ingo@1715: 	  ManagedFacets.
ingo@1715: 
raimund@1714: 2011-10-17  Raimund Renkert <raimund.renkert@intevation.de>
raimund@1714: 
raimund@1714: 	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java:
raimund@1714: 	  Added method to apply line type.
raimund@1714: 
raimund@1714: 	* doc/conf/themes.xml:
raimund@1714: 	  Changed initial default value for line type.
raimund@1714: 
ingo@1713: 2011-10-17  Ingo Weinzierl <ingo@intevation.de>
ingo@1713: 
ingo@1713: 	flys/issue226 (W-INFO: Dauerlinienberechung /Abbbildung x-Achse)
ingo@1713: 
ingo@1713: 	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
ingo@1713: 	  Set the upper bound of these charts to 364.
ingo@1713: 
ingo@1712: 2011-10-17  Ingo Weinzierl <ingo@intevation.de>
ingo@1712: 
ingo@1712: 	* src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java:
ingo@1712: 	  Added a function that returns a Gauge based on its name.
ingo@1712: 
ingo@1712: 	* src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java:
ingo@1712: 	  Create proper descriptions for facets.
ingo@1712: 
ingo@1712: 	* src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: Added a
ingo@1712: 	  setter for labels.
ingo@1712: 
ingo@1712: 	* src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
ingo@1712: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
ingo@1712: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
ingo@1712: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@1712: 	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
ingo@1712: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
ingo@1712: 	  Use the string returned by Facet.getDescription() as series names. The
ingo@1712: 	  ThemePanel and the Legend will always display the same titles for curves
ingo@1712: 	  now.
ingo@1712: 
ingo@1712: 
felix@1711: 2011-10-17	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1711: 
felix@1711: 	Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
felix@1711: 
felix@1711: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
felix@1711: 	  (parseLineWidth): New. Get line width from Document.
felix@1711: 
felix@1711: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1711: 	  When adding annotations, parse line width from theme, set it.
felix@1711: 
felix@1711: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
felix@1711: 	  When painting, set Paint and stroke early enough.
felix@1711: 
ingo@1710: 2011-10-14  Ingo Weinzierl <ingo@intevation.de>
ingo@1710: 
ingo@1710: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Put the
ingo@1710: 	  config directory into the Velocity context. It is available as
ingo@1710: 	  '$CONFIGDIR' in templates.
ingo@1710: 
ingo@1710: 	* doc/conf/mapserver/mapfile.vm: Set the debug file to
ingo@1710: 	  "$CONFIGDIR/flys-user-wms.log" and added a LEGEND section.
ingo@1710: 
ingo@1710: 	* doc/conf/mapserver/wsplgen_class.vm: Adapted the class names. Those
ingo@1710: 	  names are displayed in the image served by GetLegendGraphic.
ingo@1710: 
felix@1709: 2011-10-14	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1709: 
felix@1709: 	Add possibility of programmatic configuration of initial "activity"
felix@1709: 	state (active or inactive) of (Managed)Facets by introducing
felix@1709: 	FLYSArtifact.getInitialFacetActivity. This method shall be overriden
felix@1709: 	by subclasses where Facets are wanted to come to live inactive.
felix@1709: 	Artifacts will be asked only once how the MangedFacet should come to live,
felix@1709: 	namely when AttributeWriter finds a genuinely new Facet.
felix@1709: 
felix@1709: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
felix@1709: 	  src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java
felix@1709: 	  (getInitialFacetActivity):
felix@1709: 	  New function to let Artifact decide whether a ManagedFacet shall
felix@1709: 	  initially be set to active or inactive.
felix@1709: 
felix@1709: 	 * src/main/java/de/intevation/flys/collections/AttributeWriter.java:
felix@1709: 	   Accept database in constructor. For genuinely new Facets, spawn its
felix@1709: 	   mother artifact and ask whether the (Managed)Facet shall be active
felix@1709: 	   or inactive (initially).
felix@1709: 
felix@1709: 	 * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java
felix@1709: 	   (buildOutAttributes): Pass database to AttributeWrite (which needs it
felix@1709: 	   to spawn artifacts), rename items parameter to reflect content.
felix@1709: 
felix@1708: 2011-10-13	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1708: 
felix@1709: 	Cosmetics, removed obsolete imports.
felix@1708: 
felix@1708: 	* src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java,
felix@1708: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1708: 	  Removed obsolete imports.
felix@1708: 
ingo@1707: 2011-10-12  Ingo Weinzierl <ingo@intevation.de>
ingo@1707: 
ingo@1707: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1707: 	  Added a further attribute "mark.selected" to the barriers feature type.
ingo@1707: 	  This attribute is used in the client, where we are not able to remove it
ingo@1707: 	  properly. Reading the GeoJSON string without this attribute is no longer
ingo@1707: 	  possible... strange!
ingo@1707: 
felix@1706: 2011-10-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1706: 
felix@1706: 	Added i18n for label of wdiff "pair select" states data.
felix@1706: 
felix@1706: 	* src/main/resources/messages.properties,
felix@1706: 	  src/main/resources/messages_de_DE.properties,
felix@1706: 	  src/main/resources/messages_en.properties,
felix@1706: 	  src/main/resources/messages_de.properties: Added i18n for
felix@1706: 	  state.winfo.waterlevel_pair_select .
felix@1706: 
felix@1705: 2011-10-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1705: 
felix@1705: 	Addressed "Wrong labels" [6] part of flys/issue371 (W-INFO / Differenzen:
felix@1705: 	Anmerkungen zur Umsetzung) .
felix@1705: 
felix@1705: 	* src/main/java/de/intevation/flys/exports/WDifferencesExporter.java:
felix@1705: 	  Adjusted variable names to avoid conflict in subclasses, adjusted
felix@1705: 	  default value for i18n string.
felix@1705: 
felix@1704: 2011-10-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1704: 
felix@1704: 	Cosmetics, docs.
felix@1704: 
felix@1704: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
felix@1704: 	  Cosmetics: Space after full stop in commments, slightly improved
felix@1704: 	  documentation, added one debug message.
felix@1704: 
felix@1703: 2011-10-12	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1703: 
felix@1703: 	Fix remainder of flys/issue304 (Erweiterte Funktionen W-Differenzen) .
felix@1703: 
felix@1703: 	* doc/conf/artifacts/winfo.xml: Removed obsolete data of
felix@1703: 	  WDifferencesState.
felix@1703: 
felix@1703: 	* src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java:
felix@1703: 	  Re-enable facet-filtering, but adjust filters before that happens
felix@1703: 	  (former longitudinal_section output is now w_differences output).
felix@1703: 
felix@1702: 2011-10-11	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1702: 
felix@1702: 	Added wdiff-chart translations.
felix@1702: 
felix@1702: 	* src/main/resources/messages.properties,
felix@1702: 	  src/main/resources/messages_de_DE.properties,
felix@1702: 	  src/main/resources/messages_en.properties,
felix@1702: 	  src/main/resources/messages_de.properties: Added i18n for wdiff.
felix@1702: 
felix@1701: 2011-10-11	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1701: 
felix@1701: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
felix@1701: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1701: 	  Expose translateable Strings as constants.
felix@1701: 
felix@1700: 2011-10-11	Felix Wolfsteller	<felix.wolfsteller@intevation.de>
felix@1700: 
felix@1700: 	Fix most labels in w-differences charts.
felix@1700: 
felix@1700: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
felix@1700: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1700: 	  Remove most static final i18n-variables in favor of direct String
felix@1700: 	  usage or usage of methods. By this, allow easier adoption of labels
felix@1700: 	  in subclasses.
felix@1700: 
ingo@1699: 2011-10-11  Ingo Weinzierl <ingo@intevation.de>
ingo@1699: 
ingo@1699: 	flys/issue383 (Zweite Y-Achse wird beim Zoomen/Verschieben nicht angepasst.)
ingo@1699: 
ingo@1699: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@1699: 	  Call adjustAxes() before applying zoom settings with autoZoom(). We need
ingo@1699: 	  to add new y-axes first before we adjust their ranges.
ingo@1699: 
sascha@1698: 2011-10-10	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1698: 
sascha@1698: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
sascha@1698: 	  s/new Integer(small)/Integer.valueOf(small)/
sascha@1698: 
sascha@1697: 2011-10-10	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1697: 
sascha@1697: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
sascha@1697: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
sascha@1697: 	  Do not fire change events for each and every data point added.
sascha@1697: 
felix@1696: 2011-10-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1696: 
felix@1696: 	Fix WDifferences with more than one Pair (crashed due to incorrect index for
felix@1696: 	facets.)
felix@1696: 
felix@1696: 	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
felix@1696: 	  Fix wrong index for difference facets (allows for more than one
felix@1696: 	  difference facet per artifact without crashes).
felix@1696: 
felix@1695: 2011-10-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1695: 
felix@1695: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1695: 	  Use slightly modified doWOut-implementation from
felix@1695: 	  LongitudinalSectionGenerator (here need to add Ws to different axis).
felix@1695: 
felix@1694: 2011-10-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1694: 
felix@1694: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
felix@1694: 	  Fix import/reference.
felix@1694: 
felix@1693: 2011-10-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1693: 
felix@1693: 	Let WaterlevelPairSelectState include diffids-data (if any) to enable
felix@1693: 	future work on repopulation of Grid in GUI when jumping back
felix@1693: 	(reparameterization).
felix@1693: 
felix@1693: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
felix@1693: 	  (createItems): Override to include old data.
felix@1693: 
ingo@1692: 2011-10-10  Ingo Weinzierl <ingo@intevation.de>
ingo@1692: 
ingo@1692: 	flys/issue150 (Diagramm: Anzeige von W bergauf)
ingo@1692: 	flys/issue345 (W-INFO / Wasserspiegellagenberechnung, Diagrammausgabe)
ingo@1692: 
ingo@1692: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@1692: 	  Corrected the determination to invert the x axis, so that waterlines
ingo@1692: 	  will start with their highest value at the left and end with their
ingo@1692: 	  lowest values at the right.
ingo@1692: 
felix@1691: 2011-10-10  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1691: 
felix@1691: 	* src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java:
felix@1691: 	  Cosmetics, added an (@Override) annotation.
felix@1691: 
felix@1691: 	* src/main/java/de/intevation/flys/artifacts/model/CalculationResult.java,
felix@1691: 	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
felix@1691: 	  Cosmetics, added documentation.
felix@1691: 
felix@1691: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
felix@1691: 	  Cosmetics, whitespace after full stops in comments, added
felix@1691: 	  (@Override) annotation.
felix@1691: 
ingo@1690: 2011-10-10  Ingo Weinzierl <ingo@intevation.de>
ingo@1690: 
ingo@1690: 	flys/issue220 (Diagramm: Achsenbeschriftungen an verschiedenen Achsen müssen gleich aussehen)
ingo@1690: 
ingo@1690: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
ingo@1690: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@1690: 	  Adjusted the label font of the 2nd y-axis - now, both axes labels look
ingo@1690: 	  equal.
ingo@1690: 
ingo@1689: 2011-10-10  Ingo Weinzierl <ingo@intevation.de>
ingo@1689: 
ingo@1689: 	flys/issue189 (WINFO/Dauerlinie: Sortierung der Berechnungsausgabe nach Dauerzahlen aufsteigend)
ingo@1689: 
ingo@1689: 	* src/main/java/de/intevation/flys/artifacts/model/WQDay.java: Added a
ingo@1689: 	  method that determines if the items (days) in this object are increasing
ingo@1689: 	  or not.
ingo@1689: 
ingo@1689: 	* src/main/java/de/intevation/flys/exports/DurationCurveExporter.java:
ingo@1689: 	  Changed the order of the CSV export - the highest day is at the top of
ingo@1689: 	  the export; the lowest day is at the bottom.
ingo@1689: 
sascha@1688: 2011-10-07	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1688: 
sascha@1688: 	Worked on flys/issue150 (Diagramm: Anzeige von W bergauf).
sascha@1688: 	Still does not work in all cases.
sascha@1688: 
sascha@1688: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java (generateChart()):
sascha@1688: 	  Reordered calls to ensure that the inversion of the x axis is
sascha@1688: 	  not eliminated by other chart generation steps as a side effect.
sascha@1688: 
sascha@1688: 	 * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
sascha@1688: 	   Assuming that JFreeChart is inverting axis automatically if the
sascha@1688: 	   KMs are reversed ordered only do invert only in some situations.
sascha@1688: 
sascha@1688: 	   Do not invert axis for Q (@Ingo: This is wrong! We must do this
sascha@1688: 	   if we are only displaying the Qs and the Ws are deactived).
sascha@1688: 
ingo@1687: 2011-10-07  Ingo Weinzierl <ingo@intevation.de>
ingo@1687: 
ingo@1687: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@1687: 	  Take care on empty ranges while preparing ranges for single points.
ingo@1687: 
ingo@1686: 2011-10-07  Ingo Weinzierl <ingo@intevation.de>
ingo@1686: 
ingo@1686: 	flys/issue114 (W-INFO: Wasserspiegellagenberechnung / Ort (Spezialfall: Generierung eines Diagramms bei punkthafter Berechnung))
ingo@1686: 
ingo@1686: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Expand
ingo@1686: 	  ranges for x and y axes if there is just a single point in a series -
ingo@1686: 	  JFreeChart requires a range where lower <> upper.
ingo@1686: 
felix@1685: 2011-10-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1685: 
felix@1685: 	* src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java,
felix@1685: 	  src/main/java/de/intevation/flys/artifacts/states/DistanceSelect.java,
felix@1685: 	  src/main/java/de/intevation/flys/artifacts/states/RangeState.java,
felix@1685: 	  src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1685: 	  Add whitespace after full stop in comments, minor doc improvements.
felix@1685: 
ingo@1684: 2011-10-07  Ingo Weinzierl <ingo@intevation.de>
ingo@1684: 
ingo@1684: 	flys/issue353 (W-INFO / Wasserspiegellagenberechnung, Diagramm)
ingo@1684: 
ingo@1684: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1684: 	  Adapted the process of collecting outs for Artifacts/Facets. We will now
ingo@1684: 	  call OutGenerator.doOut() for each Artifact and Facet - never mind if
ingo@1684: 	  the facet is activated (visible) or not. The OutGenerator should decide
ingo@1684: 	  on its own whtat to do with facets which are "marked" as _not_ visible.
ingo@1684: 
ingo@1684: 	* src/main/java/de/intevation/flys/exports/OutGenerator.java,
ingo@1684: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
ingo@1684: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
ingo@1684: 	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
ingo@1684: 	  src/main/java/de/intevation/flys/exports/ReportGenerator.java,
ingo@1684: 	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java,
ingo@1684: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@1684: 	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
ingo@1684: 	  src/main/java/de/intevation/flys/exports/ATExporter.java,
ingo@1684: 	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
ingo@1684: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
ingo@1684: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
ingo@1684: 	  src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
ingo@1684: 	  Adapted the signature of OutGenerator.doOut(). There will be a new
ingo@1684: 	  boolean parameter "visible" that determines if the facet specified in
ingo@1684: 	  this method is visible for this output or not.
ingo@1684: 
ingo@1684: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Now,
ingo@1684: 	  that we walk over every Artifact/Facet, we are able to collect min/max
ingo@1684: 	  data for all axes. We store these information and use them to set the
ingo@1684: 	  ranges of x and y axes. The result of this: a chart can have proper axes
ingo@1684: 	  set without any data in it.
ingo@1684: 
ingo@1684: 	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: Use
ingo@1684: 	  min/max ranges stored while calling doOut() for each Artifact/Facet
ingo@1684: 	  instead of fetching those information from chart's Datasets (which could
ingo@1684: 	  be null).
ingo@1684: 
ingo@1683: 2011-10-07  Ingo Weinzierl <ingo@intevation.de>
ingo@1683: 
ingo@1683: 	* src/main/java/de/intevation/flys/utils/Formatter.java: Changed the max
ingo@1683: 	  number of digits for AT exports from 0 to 2.
ingo@1683: 
sascha@1682: 2011-10-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1682: 
sascha@1682: 	* src/main/java/de/intevation/flys/exports/ATWriter.java: Get rid
sascha@1682: 	  of buggy first line code.
sascha@1682: 
sascha@1681: 2011-10-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1681: 
sascha@1681: 	fixed flys/issue201
sascha@1681: 
sascha@1681: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@1681: 	  Replace >= with > in km index lookup because last km was not found.
sascha@1681: 
sascha@1680: 2011-10-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1680: 
sascha@1680: 	fixed flys/issue177
sascha@1680: 
sascha@1680: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
sascha@1680: 	  Revert rev2245. Code works fine now! :-)
sascha@1680: 
ingo@1679: 2011-10-05  Ingo Weinzierl <ingo@intevation.de>
ingo@1679: 
ingo@1679: 	* src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: Stores a
ingo@1679: 	  list of XYTextAnnotations instead of FLYS specific Annotations. This
ingo@1679: 	  makes this class suitable for other annotation types as well.
ingo@1679: 
ingo@1679: 	* src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java,
ingo@1679: 	  src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java:
ingo@1679: 	  Both facets' getData() will now return an instance of FLYSAnnotation.
ingo@1679: 
ingo@1679: 	* src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java:
ingo@1679: 	  Create XYTextAnnotations used to instantiate an object of
ingo@1679: 	  FLYSAnnotation.
ingo@1679: 
ingo@1679: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
ingo@1679: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@1679: 	  Removed the code to add annotations to the plot. This task is general
ingo@1679: 	  enough to move this code to parent class.
ingo@1679: 
ingo@1679: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@1679: 	  Instances of this class are now able to store - besides first and second
ingo@1679: 	  axes datasets - a list of annotations. This annotations are added to the
ingo@1679: 	  plot after the datasets have been added. To support LegendItems for
ingo@1679: 	  those annotions, it was necessary to create a the LegendItemCollection
ingo@1679: 	  by ourself. This work is done while applying the themes for each series
ingo@1679: 	  in the chart.
ingo@1679: 
sascha@1678: 2011-10-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1678: 
sascha@1678: 	Removed code duplication of guessWaterIncreasing()
sascha@1678: 
sascha@1678: 	* src/main/java/de/intevation/flys/artifacts/model/WKms.java(allKms, allWs):
sascha@1678: 	  Added methods to fetch all kms and all ws.
sascha@1678: 
sascha@1678: 	* src/main/java/de/intevation/flys/utils/DataUtil.java: Generalized to 
sascha@1678: 	  get WKms as arguments.
sascha@1678: 
sascha@1678: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java,
sascha@1678: 	  src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java,
sascha@1678: 	  src/main/java/de/intevation/flys/artifacts/model/WQ.java: Implements
sascha@1678: 	  the extended WKms interface.
sascha@1678: 
sascha@1678: 	 * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
sascha@1678: 	   Uses the generalized DataUtil.guessWaterIncreasing().
sascha@1678: 
ingo@1677: 2011-10-05  Ingo Weinzierl <ingo@intevation.de>
ingo@1677: 
ingo@1677: 	flys/issue347 (W-INFO / Wasserspiegellagenberechnung, Längsschnittdiagramm)
ingo@1677: 	flys/issue303 (Keine Streckenfavoriten, wenn nur Q im Längsschnittdiagram ausgewählt)
ingo@1677: 	flys/issue353 (W-INFO / Wasserspiegellagenberechnung, Diagramm)
ingo@1677: 
ingo@1677: 	* src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: New. A
ingo@1677: 	  wrapper for Annotations which allows us to provide a description for a
ingo@1677: 	  set of annotations.
ingo@1677: 
ingo@1677: 	* src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java:
ingo@1677: 	  The getData() will now return an instance of FLYSAnnotation that wraps
ingo@1677: 	  the Annotations returned by the AnnotationArtifact. The lebel of
ingo@1677: 	  FLYSAnnotation is the description of this Facet.
ingo@1677: 
ingo@1677: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@1677: 	  Modified the way to add Annotations. We will no longer create an empty
ingo@1677: 	  series to support a LegendItem for a set of Annotations, but we will add
ingo@1677: 	  a LegendItem manually to the LegendItemCollection of the plot. In
ingo@1677: 	  addition, we are now able to display annotations if one of the two
ingo@1677: 	  y-axes are missing. If there are no y-axes existing, we are not able to
ingo@1677: 	  display annotations yet.
ingo@1677: 
ingo@1677: 2011-10-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1676: 
sascha@1676: 	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
sascha@1676: 	  Lifted the wrong point. Now all backjump corrections look fine. :-)
sascha@1676: 
ingo@1675: 2011-10-05  Ingo Weinzierl <ingo@intevation.de>
ingo@1675: 
ingo@1675: 	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
ingo@1675: 	  Fixed bugs and make use of a cache for annotations now.
ingo@1675: 
sascha@1674: 2011-10-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1674: 
sascha@1674: 	Worked on flys/issue31
sascha@1674: 
sascha@1674: 	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
sascha@1674: 	  Simplified the code a lot. Needs testing. Maybe flys/issue31 is gone
sascha@1674: 
ingo@1673: 2011-10-04  Ingo Weinzierl <ingo@intevation.de>
ingo@1673: 
ingo@1673: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@1673: 	  Fetch the WstUnit value from river - the Wst itself no longer supports a
ingo@1673: 	  Unit iself.
ingo@1673: 
sascha@1672: 2011-10-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1672: 
sascha@1672: 	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java,
sascha@1672: 	  src/main/java/de/intevation/flys/utils/DoubleUtil.java: Moved some generic
sascha@1672: 	  double array code to DoubleUtil.
sascha@1672: 
sascha@1671: 2011-10-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1671: 
sascha@1671: 	* src/main/java/de/intevation/flys/utils/DoubleUtil.java (interpolateSorted):
sascha@1671: 	  Added code to linear interpolate double values in a sorted array.
sascha@1671: 	  Keys and values are given as double arrays. Keys need to be sorted.
sascha@1671: 
sascha@1670: 2011-10-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1670: 
sascha@1670: 	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java,
sascha@1670: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
sascha@1670: 	  Removed superfluous imports.
sascha@1670: 
ingo@1669: 2011-10-04  Ingo Weinzierl <ingo@intevation.de>
ingo@1669: 
ingo@1669: 	flys/issue330 (Dauerlinie kann nicht berechnet werden)
ingo@1669: 
ingo@1669: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation3.java:
ingo@1669: 	  Add a problem if no data was found for duration curves.
ingo@1669: 
ingo@1668: 2011-10-04  Ingo Weinzierl <ingo@intevation.de>
ingo@1668: 
ingo@1668: 	* src/main/java/de/intevation/flys/themes/Theme.java,
ingo@1668: 	  src/main/java/de/intevation/flys/themes/DefaultTheme.java: Added
ingo@1668: 	  getter/setter methods to provide a facet (string) and index (int). Both
ingo@1668: 	  values are written as attribute to the Theme's XML representation.
ingo@1668: 
ingo@1668: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1668: 	  Set the "facet" and "index" values of themes.
ingo@1668: 
ingo@1667: 2011-10-04  Ingo Weinzierl <ingo@intevation.de>
ingo@1667: 
ingo@1667: 	flys/issue346 (W-INFO / Anzeige der Höheninformation)
ingo@1667: 
ingo@1667: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@1667: 	  Modified x and y axis title. The x axis title is now "RIVERNAME-km"; the
ingo@1667: 	  y axis title is now "W[WST_UNIT]" where WST_UNIT depends on the unit of
ingo@1667: 	  the WST.
ingo@1667: 
ingo@1667: 	* src/main/resources/messages.properties,
ingo@1667: 	  src/main/resources/messages_de_DE.properties,
ingo@1667: 	  src/main/resources/messages_en.properties,
ingo@1667: 	  src/main/resources/messages_de.properties: Modified i18n expressions for
ingo@1667: 	  x and y axis of longitudinal section charts.
ingo@1667: 
ingo@1666: 2011-09-30  Ingo Weinzierl <ingo@intevation.de>
ingo@1666: 
ingo@1666: 	flys/issue351 (W-INFO / Wasserspiegellagenberechnungen)
ingo@1666: 
ingo@1666: 	* src/main/java/de/intevation/flys/utils/DoubleUtil.java: Modified the
ingo@1666: 	  explode() function that returns a list of values specified by min, max
ingo@1666: 	  and an interval. If the last value, determined by the interval, is
ingo@1666: 	  bigger than the max value, it is not included in the result list.
ingo@1666: 
felix@1665: 2011-09-30  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1665: 
felix@1665: 	flys/issue334 (Querprofil-Diagramm: Ausgabe dieses Diagrammtyps
felix@1665: 	möglich, obwohl WSP Berechnung keine Ergebnisse liefert)
felix@1665: 
felix@1665: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
felix@1665: 	  (compute): Add Facets regarding CrossSections only if data available.
felix@1665: 
ingo@1664: 2011-09-29  Ingo Weinzierl <ingo@intevation.de>
ingo@1664: 
ingo@1664: 	flys/issue176 (Diagramm: Benennung eines Abflusses bei gewählter Höhe am Pegel)
ingo@1664: 	flys/issue349 (W-INFO / Wasserspiegellagenberechnung, Längsschnittdiagramm)
ingo@1664: 
ingo@1664: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
ingo@1664: 	  Create titles for W and Q waterlevel facets with proper fractions.
ingo@1664: 
felix@1663: 2011-09-30  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1663: 
felix@1663: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
felix@1663: 	  (createStaticData, getLabels): Create proper labels for differences.
felix@1663: 
sascha@1662: 2011-09-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1662: 
sascha@1662: 	flys/issue244 (WINFO: Export von AT-Dateien im ersten Teil unterschiedlich)
sascha@1662: 	flys/issue332 (W-INFO / Berechnung Abflusskurve, Export, FLYS 2.5)
sascha@1662: 
sascha@1662: 	* src/main/java/de/intevation/flys/exports/ATWriter.java: Due to a rounding
sascha@1662: 	  issue the w's of the first line underun the minimal w of the curve at times.
sascha@1662: 	  An extra test was introduced to suppress the output of the q's of the wrong w's.
sascha@1662: 
felix@1661: 2011-09-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1661: 
felix@1661: 	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
felix@1661: 	Use StringUtil.wWrap , fix wrong loop, minor refac and cosmetics.
felix@1661: 
felix@1660: 2011-09-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1660: 
felix@1660: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
felix@1660: 	Extracted/use StringUtil.wWrap .
felix@1660: 
ingo@1659: 2011-09-28  Ingo Weinzierl <ingo@intevation.de>
ingo@1659: 
ingo@1659: 	* src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java:
ingo@1659: 	  Log the gauge which has been determined.
ingo@1659: 
ingo@1658: 2011-09-28  Ingo Weinzierl <ingo@intevation.de>
ingo@1658: 
ingo@1658: 	flys/issue332 (W-INFO / Berechnung Abflusskurve, Export, FLYS 2.5)
ingo@1658: 
ingo@1658: 	* src/main/java/de/intevation/flys/exports/ATExporter.java: Store the
ingo@1658: 	  master Artifact which is set via setMasterArtifact(). This is required
ingo@1658: 	  for meta information used while preparing the header row of AT exports.
ingo@1658: 
ingo@1658: 	* src/main/java/de/intevation/flys/exports/ATWriter.java: Print a header
ingo@1658: 	  row into the AT export for being compatible with desktop FLYS.
ingo@1658: 
ingo@1658: 	* src/main/resources/messages.properties,
ingo@1658: 	  src/main/resources/messages_de_DE.properties,
ingo@1658: 	  src/main/resources/messages_en.properties,
ingo@1658: 	  src/main/resources/messages_de.properties: Added header row for AT
ingo@1658: 	  export files.
ingo@1658: 
ingo@1657: 2011-09-28  Ingo Weinzierl <ingo@intevation.de>
ingo@1657: 
ingo@1657: 	flys/issue328 (W-INFO / ÜSK: Auswahl der Wasserspiegellage / Auswahlunterstützung)
ingo@1657: 
ingo@1657: 	* doc/conf/meta-data.xml: Added an out 'waterlevels' that might be used to
ingo@1657: 	  fetch user specific waterlevels (same as longitudinal sections, but
ingo@1657: 	  without Q facet).
ingo@1657: 	  In addition, the system specific datacage stuff is now fetched, when:
ingo@1657: 	  a) no user-id is given
ingo@1657: 	  b) a user-id is given and there is a parameter 'load-system'
ingo@1657: 
ingo@1657: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
ingo@1657: 	  If the label of the WQKms object specified by the waterlevel selection
ingo@1657: 	  begins with a "Q", the label is wrapped into a "W()", e.g. "W(Q=1200)".
ingo@1657: 
ingo@1656: 2011-09-28  Ingo Weinzierl <ingo@intevation.de>
ingo@1656: 
ingo@1656: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Made
ingo@1656: 	  feed() able to remove existing data items from Artifact's data pool.
ingo@1656: 	  Therefore, the value for the item which should be removed needs to an
ingo@1656: 	  empty string.
ingo@1656: 
felix@1655: 2011-09-28  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1655: 
felix@1655: 	Extracted StringUtil.unbracket from WaterlevelSelectState.strip.
felix@1655: 
felix@1655: 	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java,
felix@1655: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
felix@1655: 	  Extract and use StringUtil.unbracket, minor doc.
felix@1655: 
ingo@1654: 2011-09-27  Ingo Weinzierl <ingo@intevation.de>
ingo@1654: 
ingo@1654: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
ingo@1654: 	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
ingo@1654: 	  Changed access of getCurrentState() from protected to public.
ingo@1654: 
ingo@1654: 	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: We
ingo@1654: 	  use the configured Outputs instead of the actuel Outputs of an Artifact
ingo@1654: 	  to make recommendations, now. This has the bad side effect of giving
ingo@1654: 	  recommendations for Outputs that we might _NOT_ be able to produce. But
ingo@1654: 	  otherwise, we would not be able to give recommendations for states with
ingo@1654: 	  long calculation times that start background threads for calculation (as
ingo@1654: 	  WSPLGEN caluclations does).
ingo@1654: 
felix@1653: 2011-09-27  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1653: 
felix@1653: 	Enable "auto-scaling" axis for waterlevels in WDifference-plots.
felix@1653: 
felix@1653: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1653: 	  (createSecondaryAxis, zoomY): Refactored to allow modification in
felix@1653: 	  siblings.
felix@1653: 
felix@1653: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1653: 	  (createSecondaryAxisRange): Override to achieve expected behavior.
felix@1653: 	  Also adjusted label.
felix@1653: 
felix@1652: 2011-09-27  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1652: 
felix@1652: 	In W-Difference Calculation, respect indices of selected facets.
felix@1652: 
felix@1652: 	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
felix@1652: 	  (computeAdvance): Respect index of selected facets.
felix@1652: 
sascha@1651: 2011-09-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1651: 
sascha@1651: 	flys/issue317: (Querprofil-Diagramm: Referenzen auf CrossSectionApp entfernen)
sascha@1651: 
sascha@1651: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@1651: 	  Removed dependency to demo app.
sascha@1651: 
sascha@1651: 	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
sascha@1651: 	  Refactored to use logic from the models.
sascha@1651: 
sascha@1651: 	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java:
sascha@1651: 	  Moved some logic from the demo app to this model.
ingo@1654: 
ingo@1650: 2011-09-27  Ingo Weinzierl <ingo@intevation.de>
ingo@1650: 
ingo@1650: 	* src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: New. Code
ingo@1650: 	  from FloodMapState moved to its own class with the intent, to use it in
ingo@1650: 	  classes different from FloodMapState.
ingo@1650: 
ingo@1650: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1650: 	  Removed the inner class FacetCreator.
ingo@1650: 
ingo@1650: 	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Stores
ingo@1650: 	  an instance of FacetCreator.
ingo@1650: 	  NOTE: Maybe we should move the WSPLGEN parameters into an own class
ingo@1650: 	  which might be serializable.
ingo@1650: 
ingo@1650: 	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Use the
ingo@1650: 	  FacetCreator instance stored in the WSPLGENJob to create a new WSPLGEN
ingo@1650: 	  facet if the calculation was successfully (without errors). Finally, the
ingo@1650: 	  facets of FacetCreator are added to the Facet list of the FLYSArtifacts.
ingo@1650: 
ingo@1649: 2011-09-27  Ingo Weinzierl <ingo@intevation.de>
ingo@1649: 
ingo@1649: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1649: 	  Put Artifact in background mode first before starting WSPLGEN, otherwise
ingo@1649: 	  a very fast errors (call CallContext.afterBackground() before Artifact is
ingo@1649: 	  in Background mode) might lead to an inconsistent state.
ingo@1649: 
ingo@1649: 	* src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java: Repaired
ingo@1649: 	  broken error num parsing.
ingo@1649: 
ingo@1648: 2011-09-27  Ingo Weinzierl <ingo@intevation.de>
ingo@1648: 
ingo@1648: 	* src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java: Track
ingo@1648: 	  critical errors as well (improved regular expression for errors).
ingo@1648: 
sascha@1647: 2011-09-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1647: 
sascha@1647: 	* ChangeLog: Fixed whitespace usage.
sascha@1647: 
sascha@1646: 2011-09-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1646: 
sascha@1646: 	* src/main/java/de/intevation/flys/artifacts/services/RiverService.java,
sascha@1646: 	  src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java
sascha@1646: 	  src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java,
sascha@1646: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
sascha@1646: 	  Removed superfluous imports.
sascha@1646: 
ingo@1645: 2011-09-27  Ingo Weinzierl <ingo@intevation.de>
ingo@1645: 
ingo@1645: 	flys/issue68 (Diagramm: Werte an der Y-Achse benötigen i18n)
ingo@1645: 
ingo@1645: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added a
ingo@1645: 	  method to retrieve the current/preferred locale specified by CallMeta.
ingo@1645: 
ingo@1645: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@1645: 	  Introduced two methods localizeDomainAxis() and localizeRangeAxis().
ingo@1645: 	  Both methods of this class override the NumberFormat used to format axes
ingo@1645: 	  numbers. Those methods are called by localizeAxes() - which has private
ingo@1645: 	  access - for each domain and range axis of the current XYPlot.
ingo@1645: 
sascha@1644: 2011-09-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1644: 
sascha@1644: 	* doc/conf/cache.xml: Number of cached annotations was much
sascha@1644: 	  to low.
sascha@1644: 
felix@1643: 2011-09-27  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1643: 
sascha@1647: 	Improved w-differences diagram generation where multiple differences
sascha@1647: 	can be shown.
felix@1643: 
felix@1643: 	* src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java:
felix@1643: 	  New facet type.
felix@1643: 
felix@1643: 	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
felix@1643: 	  Employ new DifferenceCurveFacet, return CalculationResult that can
felix@1643: 	  store more than one WKms.
felix@1643: 
ingo@1642: 2011-09-27  Ingo Weinzierl <ingo@intevation.de>
ingo@1642: 
ingo@1642: 	flys/issue320 (ÜSK:Mapserver hat Probleme beim Shapefilepath mit "../" im Pfad)
ingo@1642: 
ingo@1642: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Use
ingo@1642: 	  File.getCanonicalPath() to substitute "../" in shapefile directories.
ingo@1642: 
ingo@1641: 2011-09-26  Ingo Weinzierl <ingo@intevation.de>
ingo@1641: 
ingo@1641: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1641: 	  The extent of the WSPLGEN result layer is now specified by the extent of
ingo@1641: 	  the CrossSectionTracks that matches the start and end kilometer of the
ingo@1641: 	  WSPLGEN calculation.
ingo@1641: 
ingo@1641: 	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: New function
ingo@1641: 	  that creates the OpenLayers bounding box based on two Geometries.
ingo@1641: 
felix@1640: 2011-09-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1640: 
sascha@1647: 	Improved w-differences diagram generation with included "absolute"
sascha@1647: 	values.
felix@1640: 
felix@1640: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1640: 	  Fixed one (of two) incorrect labels.
felix@1640: 	  (doWaterlevelOut): Survive non-found gauge, fetch kilometer and w
felix@1640: 	  instead of values for w and q.
felix@1640: 
felix@1639: 2011-09-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1639: 
sascha@1647: 	Add positional-conflict-awareness when merging Facets for a
sascha@1647: 	FLYSArtifactCollection. First come first serve.
felix@1639: 
felix@1639: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
felix@1639: 	  (writeFacets): First, sort incoming facets into 2 groups:
felix@1639: 	  "genuinely new" and "already there", then for each new check
felix@1639: 	  whether the position is already taken. If so, push "up" (position++)
felix@1639: 	  until no conflict exists anymore.
felix@1639: 
ingo@1638: 2011-09-26  Ingo Weinzierl <ingo@intevation.de>
ingo@1638: 
ingo@1638: 	flys/issue296 (Karte: Bezeichnungen verbessern)
ingo@1638: 
ingo@1638: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1638: 	  I18N of the WSPLGEN and barriers facets (WMS layers).
ingo@1638: 
ingo@1638: 	* src/main/resources/messages.properties,
ingo@1638: 	  src/main/resources/messages_de_DE.properties,
ingo@1638: 	  src/main/resources/messages_en.properties,
ingo@1638: 	  src/main/resources/messages_de.properties: Added strings for the wsplgen
ingo@1638: 	  and barriers WMS layers.
ingo@1638: 
felix@1639: 2011-09-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1637: 
sascha@1647: 	Fix (revert) access to position in ManagedDomFacet.
felix@1637: 
felix@1637: 	* src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java:
felix@1637: 	  (getPosition): Do not add prefix when querying position ("pos")
felix@1637: 	  attribute, add a logger for faster future debugging.
felix@1637: 
felix@1637: 2011-09-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1637: 
sascha@1647: 	Squash positional conflict-bug.
felix@1637: 
felix@1637: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
felix@1637: 	  (mergeFacets): Removed, replaced in parts by pickFacet.
felix@1637: 	  (pickFacet): New, return facet to be added to document.
felix@1637: 	  Documentation added.
felix@1637: 
felix@1636: 2011-09-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1636: 
sascha@1647: 	Squash a bug about wrongly named "art:pos" attribute in ManagedDomFacet (was
sascha@1647: 	"pos"). Added documentation from commit message.
felix@1636: 
felix@1636: 	* src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java:
felix@1636: 	  Added documentation (commit message with minor adjustments).
felix@1636: 	  (getPosition, setPosition): Include PREFIX in attribute name.
felix@1636: 
felix@1635: 2011-09-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1635: 
sascha@1647: 	Refactoring, doc.
felix@1635: 
felix@1635: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
felix@1635: 	  (mergeFacets): Removed, replaced in parts by pickFacet.
felix@1635: 	  (pickFacet): New, return facet to be added to document.
felix@1635: 	  Documentation added.
felix@1635: 
felix@1634: 2011-09-23  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1634: 
sascha@1647: 	Cosmetics, docs.
felix@1634: 
felix@1634: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
felix@1634: 	  Documentation added.
felix@1634: 
ingo@1633: 2011-09-22  Ingo Weinzierl <ingo@intevation.de>
ingo@1633: 
ingo@1633: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
ingo@1633: 	  Subclasses the FLYSService now - this should improve the database
ingo@1633: 	  connection handling.
ingo@1633: 
bjoern@1632: 2011-09-22  Bjoern Schilberg <bjoern.schilberg@intevation.de>
bjoern@1632: 
bjoern@1632: 	* doc/mapserver/mosel-mapfile.map:
bjoern@1632: 	  Full blown mosel wms mapfile.
bjoern@1632: 
ingo@1631: 2011-09-22  Ingo Weinzierl <ingo@intevation.de>
ingo@1631: 
ingo@1631: 	* src/main/java/de/intevation/flys/artifacts/services/FLYSService.java:
ingo@1631: 	  New. A subclass of DefaultService which is used in FLYS to init and
ingo@1631: 	  shutdown database connections.
ingo@1631: 
ingo@1631: 	* src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java,
ingo@1631: 	  src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java,
ingo@1631: 	  src/main/java/de/intevation/flys/artifacts/services/RiverService.java:
ingo@1631: 	  Centralized the initialization and shutdown of database connections.
ingo@1631: 	  These services now subclass FLYSService which handles the database stuff.
ingo@1631: 
ingo@1631: 	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: The
ingo@1631: 	  current database connection is not closed here - this is done in a
ingo@1631: 	  Service or in the CallContext.
ingo@1631: 
ingo@1631: 	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java: It's
ingo@1631: 	  not necessary to create new database connections here. We already have
ingo@1631: 	  an existing connection which is initialized by CallContext.
ingo@1631: 
ingo@1630: 2011-09-22  Ingo Weinzierl <ingo@intevation.de>
ingo@1630: 
ingo@1630: 	* src/main/java/de/intevation/flys/artifacts/states/DistanceOnlySelect.java:
ingo@1630: 	  Override validate() of parent classes to suppress "step" validation
ingo@1630: 	  which is not present in this state.
ingo@1630: 
ingo@1630: 	* src/main/java/de/intevation/flys/artifacts/states/RangeState.java: Added
ingo@1630: 	  new method validateBounds() which really just validates a boundary
ingo@1630: 	  without "step" parameter.
ingo@1630: 
felix@1629: 2011-09-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1629: 
sascha@1647: 	Added WaterlevelArtifact to accompany WINFOArtifacts in WDifferencesPlots.
felix@1629: 
felix@1629: 	* src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java:
felix@1629: 	  New WaterlevelArtifact.
felix@1629: 
felix@1629: 	* doc/conf/conf.xml:
felix@1629: 	  Added configuration for WaterlevelArtifact configuration (path to state-xml)
felix@1629: 	  waterlevel-factory.
felix@1629: 
felix@1629: 	* doc/conf/artifacts/waterlevel.xml:
felix@1629: 	  New, trivial state description for Waterlevelartifact.
felix@1629: 
felix@1629: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelInfoState.java:
felix@1629: 	  New, only state for WaterlevelArtifact.
felix@1629: 
felix@1628: 2011-09-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1628: 
sascha@1647: 	Cosmetics, docs.
felix@1628: 
felix@1628: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
felix@1628: 	  src/main/java/de/intevation/flys/collections/AttributeWriter.java,
felix@1628: 	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
felix@1628: 	  Cosmetics, documentation.
felix@1628: 
felix@1627: 2011-09-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1627: 
sascha@1647: 	Added WaterlevelOut-processing ability to WDifferencesCurveGenerator.
felix@1627: 
felix@1627: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1627: 	  Process LONGITUDINAL_W facets.
felix@1627: 
felix@1626: 2011-09-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1626: 
sascha@1647: 	Improved WDifferenceState in preparation to be able to deal with multiple
sascha@1647: 	pairs for differences.
felix@1626: 
felix@1626: 	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
felix@1626: 	  Prepare multiple-pairs-case.
felix@1626: 
ingo@1625: 2011-09-21  Ingo Weinzierl <ingo@intevation.de>
ingo@1625: 
ingo@1625: 	flys/issue315 (Überschwemmungsfläche: String bei Streckenauswahl)
ingo@1625: 
ingo@1625: 	* doc/conf/artifacts/winfo.xml: Added a new state for floodmap's range
ingo@1625: 	  input. This state will accept a km range only, there is no step width.
ingo@1625: 
ingo@1625: 	* src/main/java/de/intevation/flys/artifacts/states/DistanceOnlySelect.java:
ingo@1625: 	  New. The state which is used to enter a km range with step width.
ingo@1625: 
felix@1624: 2011-09-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1624: 
sascha@1647: 	Cosmetics, improved debug output, doc.
felix@1624: 
felix@1624: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
felix@1624: 	  Improved debug output.
felix@1624: 
felix@1624: 	* src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java:
felix@1624: 	  Added documentation.
felix@1624: 
felix@1624: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java,
felix@1624: 	  src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
felix@1624: 	  Removed commented code.
felix@1624: 
felix@1624: 	* src/main/java/de/intevation/flys/collections/AttributeParser.java:
felix@1624: 	  Whitespace cosmetics.
felix@1624: 
felix@1623: 2011-09-21  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1623: 
sascha@1647: 	Avoid NullPointerException when drawing XYChart without data.
felix@1623: 
felix@1623: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1623: 	  Guard calls to dataset to avoid NullPointerException.
felix@1623: 
ingo@1622: 2011-09-21  Ingo Weinzierl <ingo@intevation.de>
ingo@1622: 
ingo@1622: 	flys/issue325 (FLYS Client: Auswahl des DGM zeigt numerischen Wert an)
ingo@1622: 
ingo@1622: 	* src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java: Write
ingo@1622: 	  a better label for the selected DEM into the static DESCRIBE. Use the
ingo@1622: 	  name of the DEM file as label instead of the database id.
ingo@1622: 
bjoern@1188: 2011-09-16  Bjoern Schilberg <bjoern.schilberg@intevation.de>
bjoern@1188: 
bjoern@1188: 	* doc/mapserver/fontset.txt:
bjoern@1188: 	  Added initial font set for km_annotation layer.
bjoern@1188: 	* doc/mapserver/symbols/symbols.sym:
bjoern@1188: 	  Added square symbol for km and fixpoint layer.
bjoern@1188: 	* doc/mapserver/saar-mapfile.map:
bjoern@1188: 	  Adjust styling in the flys karte-archiv way.
bjoern@1188: 
ingo@1187: 2011-09-19  Ingo Weinzierl <ingo@intevation.de>
ingo@1187: 
ingo@1621: 	Tagged RELEASE 2.5
ingo@1621: 
ingo@1621: 	* Changes: Prepared changes for release.
ingo@1621: 
ingo@1621: 2011-09-19  Ingo Weinzierl <ingo@intevation.de>
ingo@1621: 
ingo@1187: 	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java,
ingo@1187: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java,
ingo@1187: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java,
ingo@1187: 	  src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java,
ingo@1187: 	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Removed
ingo@1187: 	  needless imports.
ingo@1187: 
ingo@1186: 2011-09-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1186: 
ingo@1186: 	* doc/conf/meta-data.xml: Improved datacage configuration for DEMs.
ingo@1186: 
ingo@1186: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1186: 	  Query DGMs by the given ID in the FLYS data pool - not by given range
ingo@1186: 	  values.
ingo@1186: 
ingo@1185: 2011-09-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1185: 
ingo@1185: 	* doc/conf/meta-data.xml: Added a section for DEMs to the floodmap
ingo@1185: 	  section.
ingo@1185: 
felix@1184: 2011-09-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1184: 
sascha@1647: 	Fix build.
felix@1184: 
felix@1184: 	* src/main/java/de/intevation/flys/artifacts/state/WDifferencesState.java:
felix@1184: 	  Fix build.
felix@1184: 
felix@1183: 2011-09-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1183: 
sascha@1647: 	Take a given WaterlevelPair-String, load artifact and plot the diff.
felix@1183: 
felix@1183: 	* src/main/java/de/intevation/flys/artifacts/state/WDifferencesState.java:
felix@1183: 	  Load correct artifacts.
felix@1183: 
bjoern@1182: 2011-09-16  Bjoern Schilberg <bjoern.schilberg@intevation.de>
bjoern@1182: 
bjoern@1182: 	* doc/mapserver/*: Added inital mapserver configuration files.
bjoern@1182: 
ingo@1181: 2011-09-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1181: 
ingo@1181: 	* doc/conf/meta-data.xml: Moved the system specific configuration into a
ingo@1181: 	  macro to the top of the configuration document. Call this macro at the
ingo@1181: 	  end of the user specific part and in the part that should contain the
ingo@1181: 	  system specific stuff only!
ingo@1181: 
ingo@1180: 2011-09-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1180: 
ingo@1180: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@1180: 	  Defined createItem() here and adapted some method signatures, because I
ingo@1180: 	  need the CallContext deeper in code than expected.
ingo@1180: 
ingo@1180: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
ingo@1180: 	  Write the name of the selected waterlevel into the static DESCRIBE.
ingo@1180: 
ingo@1180: 	* src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java:
ingo@1180: 	  Adapted method signatures that have been changed in DefaultState.
ingo@1180: 
ingo@1180: 	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
ingo@1180: 	  Removed method createItem() which is now defined in the upper class
ingo@1180: 	  DefaultState.
ingo@1180: 
ingo@1180: 	* src/main/resources/messages.properties,
ingo@1180: 	  src/main/resources/messages_de_DE.properties,
ingo@1180: 	  src/main/resources/messages_en.properties,
ingo@1180: 	  src/main/resources/messages_de.properties: Added string for selected
ingo@1180: 	  waterlevel that is displayed in static UI.
ingo@1180: 
ingo@1179: 2011-09-16  Ingo Weinzierl <ingo@intevation.de>
ingo@1179: 
ingo@1179: 	* src/main/resources/messages.properties,
ingo@1179: 	  src/main/resources/messages_de_DE.properties,
ingo@1179: 	  src/main/resources/messages_en.properties,
ingo@1179: 	  src/main/resources/messages_de.properties: Added state label for
ingo@1179: 	  waterlevel selection.
ingo@1179: 
ingo@1178: 2011-09-15  Ingo Weinzierl <ingo@intevation.de>
ingo@1178: 
ingo@1178: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
ingo@1178: 	  Validate incoming data string and strip brackets.
ingo@1178: 
ingo@1178: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1178: 	  Fetch waterlevel data from external Artifact if existing. If no external
ingo@1178: 	  Artifact is specified that provides waterlevel data, we gonna try to
ingo@1178: 	  fetch it from the current Artifact.
ingo@1178: 
ingo@1177: 2011-09-15  Ingo Weinzierl <ingo@intevation.de>
ingo@1177: 
ingo@1177: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
ingo@1177: 	  Removed needless import which caused compile errors.
ingo@1177: 
ingo@1176: 2011-09-15  Ingo Weinzierl <ingo@intevation.de>
ingo@1176: 
ingo@1176: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@1176: 	  Added a transform() method. This method should be used to transform
ingo@1176: 	  input data in form of a string into a better data structure. This state
ingo@1176: 	  provides a simple implementation which just returns a StateData object
ingo@1176: 	  that contains exactly the input string.
ingo@1176: 
ingo@1176: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Transform
ingo@1176: 	  input strings using DefaultState.transform() before they are added to
ingo@1176: 	  its data pool.
ingo@1176: 
ingo@1175: 2011-09-15  Ingo Weinzierl <ingo@intevation.de>
ingo@1175: 
ingo@1175: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1175: 	  Made collection solid for the case if it has no Artifacts.
ingo@1175: 
ingo@1174: 2011-09-15  Ingo Weinzierl <ingo@intevation.de>
ingo@1174: 
ingo@1174: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Fetch Artifact
ingo@1174: 	  from ArtifactDatabase properly. Write better error logs if that process
ingo@1174: 	  fails.
ingo@1174: 
felix@1173: 2011-09-14  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1173: 
sascha@1647: 	Extend WDifferences branch to have calculations in dedicated, new state.
felix@1173: 
felix@1173: 	* doc/conf/artifacts/winfo.xml: Added new State and Transition in
felix@1173: 	  WDifferences-branch.
felix@1173: 
felix@1173: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java:
felix@1173: 	  New state.
felix@1173: 
felix@1173: 	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
felix@1173: 	  Specify to not take input, prepare getting other facets.
felix@1173: 
ingo@1172: 2011-09-14  Ingo Weinzierl <ingo@intevation.de>
ingo@1172: 
ingo@1172: 	* src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java: This
ingo@1172: 	  state now desires the UIProvider 'dem_datacage_panel'.
ingo@1172: 
ingo@1172: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java:
ingo@1172: 	  New. This state is used to define the desired UIProvider
ingo@1172: 	  'wsp_datacage_panel'.
ingo@1172: 
ingo@1172: 	* doc/conf/artifacts/winfo.xml: Added a new way to start a WSPLGEN
ingo@1172: 	  calculation when choosing the calculation type 'floodmap'.
ingo@1172: 
ingo@1171: 2011-09-14  Ingo Weinzierl <ingo@intevation.de>
ingo@1171: 
ingo@1171: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: Merge
ingo@1171: 	  facets only if their name AND their owner artifact are equal.
ingo@1171: 
felix@1170: 2011-09-14  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1170: 
sascha@1647: 	Partial Fix flys/issue304 (3) (Baseline).
felix@1170: 
felix@1170: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1170: 	  Show Baseline in WDifferencesPlot.
felix@1170: 
felix@1170: 2011-09-14  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1170: 
sascha@1647: 	Fix flys/issue310 (cross-section theme).
felix@1170: 
felix@1170: 	* doc/conf/themes.xml: CrossSection-Themes: profile thin, water blue.
felix@1170: 
felix@1169: 2011-09-14  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1169: 
sascha@1647: 	Fix flys/issue310 (cross-section theme).
felix@1169: 
felix@1169: 	* doc/conf/themes.xml: CrossSection-Themes: profile thin, water blue.
felix@1169: 
ingo@1168: 2011-09-13  Ingo Weinzierl <ingo@intevation.de>
ingo@1168: 
ingo@1168: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1168: 	  Add an quick and simple error to the report if an error occured while
ingo@1168: 	  WSPLGENJob creation.
ingo@1168: 
ingo@1168: 	* src/main/resources/messages.properties,
ingo@1168: 	  src/main/resources/messages_de_DE.properties,
ingo@1168: 	  src/main/resources/messages_en.properties,
ingo@1168: 	  src/main/resources/messages_de.properties: Added error messages for
ingo@1168: 	  WSPLGEN job creation errors.
ingo@1168: 
felix@1167: 2011-09-13  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1167: 
sascha@1647: 	Fix crash when drawing StickyAxisAnnotation when no range was given.
sascha@1647: 	User-directed issues remain ( flys/issue303 ).
felix@1167: 
felix@1167: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java
felix@1167: 	  (draw):
felix@1167: 	  Guard access to domainAxis, rangeAxis and the corresponding ranges.
felix@1167: 	  Warn and exit if any was null.
felix@1167: 
ingo@1166: 2011-09-13  Ingo Weinzierl <ingo@intevation.de>
ingo@1166: 
ingo@1166: 	flys/issue290 (Karte: Eingabe von Differenzen zw. WSP und Gelände findet
ingo@1166: 	keine Ausprägung in der Karte)
ingo@1166: 
ingo@1166: 	* doc/conf/mapserver/wsplgen_class.vm: Added styles for DIFF attribute.
ingo@1166: 
ingo@1166: 	* doc/conf/mapserver/mapfile.vm: Set debug default to '5'.
ingo@1166: 
ingo@1165: 2011-09-12  Ingo Weinzierl <ingo@intevation.de>
ingo@1165: 
ingo@1165: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1165: 	  Add a first WSPLGEN status message (notifies the user about a
ingo@1165: 	  queued job) after the job has been added to the Scheduler.
ingo@1165: 
ingo@1165: 	* src/main/resources/messages.properties,
ingo@1165: 	  src/main/resources/messages_de_DE.properties,
ingo@1165: 	  src/main/resources/messages_en.properties,
ingo@1165: 	  src/main/resources/messages_de.properties: Added english and german
ingo@1165: 	  status message text.
ingo@1165: 
ingo@1164: 2011-09-12  Ingo Weinzierl <ingo@intevation.de>
ingo@1164: 
ingo@1164: 	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Write
ingo@1164: 	  shapefiles only if there are features for it existing.
ingo@1164: 
ingo@1164: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1164: 	  A WSPLGEN facet is only created, if the calculation was successfully
ingo@1164: 	  added to the Scheduler. A barrier facet is only created if the WSPLGEN
ingo@1164: 	  calculation has been added to the scheduler AND if there are digitized
ingo@1164: 	  geometries existing.
ingo@1164: 
felix@1163: 2011-09-12  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1163: 
sascha@1647: 	Copied and slightly modified implementation of guessWaterIncreasing from
sascha@1647: 	WQKms to (new) DataUtils. Accidentally commited usage in last commit, to
sascha@1647: 	correct orientation of diagram (invert x axis).
felix@1163: 
felix@1163: 	* src/main/java/de/intevation/flys/utils/DataUtils.java:
felix@1163: 	  New file with guessWaterIncreasing implementation from WQKms,
felix@1163: 	  slightly adjusted.
felix@1163: 
felix@1162: 2011-09-12  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1162: 
sascha@1647: 	Cosmetics.
felix@1162: 
felix@1162: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
felix@1162: 	  src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java:
felix@1162: 	  Cosmetics.
felix@1162: 
felix@1161: 2011-09-12  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1161: 
sascha@1647: 	Added CSV Export for W-Differences.
felix@1161: 
felix@1161: 	* doc/conf/conf.xml: Added Exporter.
felix@1161: 	
felix@1161: 	* doc/conf/artifacts/winfo.xml: Removed transition over distances
felix@1161: 	  state, added export outputmode and facet.
felix@1161: 
felix@1161: 	* src/main/java/de/intevation/flys/exports/WDifferencesExporter.java:
felix@1161: 	  New, CSV-Exporter for WDifferences.
felix@1161: 
felix@1161: 	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
felix@1161: 	  Add export facet.
felix@1161: 
felix@1160: 2011-09-12  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1160: 
felix@1160: 	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java:
felix@1160: 	  Cosmetics, docs.
felix@1160: 	
felix@1160: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java,
felix@1160: 	  src/main/java/de/intevation/flys/exports/AbstractExporter.java,
felix@1160: 	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java:
felix@1160: 	  Cosmetics.
felix@1160: 
ingo@1159: 2011-09-12  Ingo Weinzierl <ingo@intevation.de>
ingo@1159: 
ingo@1159: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@1159: 	  Sourced the code to append a concrete data item to the static DESCRIBE
ingo@1159: 	  part out to an own method (appendStaticData()).
ingo@1159: 
ingo@1159: 	* src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java:
ingo@1159: 	  Override appendStaticData() to suppress the GeoJSON string to be
ingo@1159: 	  included in the static DESCRIBE.
ingo@1159: 
ingo@1158: 2011-09-12  Ingo Weinzierl <ingo@intevation.de>
ingo@1158: 
ingo@1158: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java,
ingo@1158: 	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java,
ingo@1158: 	  src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java,
ingo@1158: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java,
ingo@1158: 	  src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java,
ingo@1158: 	  src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java,
ingo@1158: 	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
ingo@1158: 	  Removed needless imports.
ingo@1158: 
ingo@1157: 2011-09-09  Ingo Weinzierl <ingo@intevation.de>
ingo@1157: 
ingo@1157: 	* src/main/java/de/intevation/flys/artifacts/model/CalculationMessage.java:
ingo@1157: 	  New. A subclass of Message (in the Artifacts system). It stores a
ingo@1157: 	  string message and a progress (in form of step x/y).
ingo@1157: 
ingo@1157: 	* src/main/java/de/intevation/flys/wsplgen/JobObserver.java: The observer
ingo@1157: 	  now writes background messages into the artifact system using the
ingo@1157: 	  CallContext.addBackgroundMessage(). We use instances of
ingo@1157: 	  CalculationMessage here, that makes the WINFOArtifact able to put
ingo@1157: 	  progress information into the Artifact's DESCRIBE as well.
ingo@1157: 	  
ingo@1157: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Write
ingo@1157: 	  status message and progress information into the DESCRIBE if the
ingo@1157: 	  Artifact has started a background process.
ingo@1157: 
felix@1156: 2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1156: 
sascha@1647: 	Fix flys/issue280 .
felix@1156: 
felix@1156: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
felix@1156: 	  Do not draw boxes around annotations.
felix@1156: 
felix@1155: 2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1155: 
sascha@1647: 	Fix flys/issue279 .
felix@1155: 
felix@1155: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1155: 	  Fix behaviour in various thinkable malconditions.
felix@1155: 
felix@1154: 2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1154: 
felix@1154: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1154: 	  Made one case of cross section fetching more robust.
felix@1154: 
felix@1153: 2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1153: 
felix@1153: 	Fix Facet name and Legend of W-Differences, also insert state to specify
felix@1153: 	distance.
felix@1153: 
felix@1153: 	* doc/conf/artifacts/winfo.xml: Add additional transitions to walk over
felix@1153: 	  distances state.
felix@1153: 
felix@1153: 	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
felix@1153: 	  Set facets description.
felix@1153: 
felix@1153: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1153: 	  Take facets description as legend.
felix@1153: 
felix@1152: 2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1152: 
felix@1152: 	Added configuration to kick-in w-differences branch of winfo.
felix@1152: 
felix@1152: 	* doc/conf/conf.xml: Register new (w-differences) OutputGenerators.
felix@1152: 
felix@1152: 	* doc/conf/artifacts/winfo.xml: Register new state and transitions.
felix@1152: 
felix@1152: 	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
felix@1152: 	  Added new (w-differences) calculation mode.
felix@1152: 
felix@1152: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveInfoGenerator.java:
felix@1152: 	  New file, implementing naive approach to display w-differences
felix@1152: 	  (accidentially omitted in last commit).
felix@1152: 
felix@1151: 2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1151: 
felix@1151: 	Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
felix@1151: 
felix@1151: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@1151: 	  Added w_differences facet type.
felix@1151: 
felix@1151: 	* src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java:
felix@1151: 	  New file, implements naive approach to calculate w-differences (of
felix@1151: 	  calculations identified by hardcoded uuids!) and register respective facet.
felix@1151: 
felix@1153: 	* src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java:
felix@1152: 	  New file, implementing naive approach to display w-differences.
felix@1151: 
felix@1151: 2011-09-09  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1150: 
felix@1150: 	Implement getArtifact(uuid,context) in FLYSUtils.
felix@1150: 
felix@1150: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java (getArtifact):
felix@1150: 	  Added implementation, partially resolving a TODO. Added logger instance.
felix@1150: 
ingo@1149: 2011-09-08  Ingo Weinzierl <ingo@intevation.de>
ingo@1149: 
ingo@1149: 	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENCalculation.java:
ingo@1149: 	  New. This sublcass of Calculation saves warnings and errors that occur
ingo@1149: 	  while WSPLGEN is running.
ingo@1149: 	  Note, that the interface of this class doesn't exactly apply the interface
ingo@1149: 	  of Calculation. Maybe, we should generalize this interface!
ingo@1149: 
ingo@1149: 	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Stores
ingo@1149: 	  an instance of WSPLGENCalculation now. We use this instance to save
ingo@1149: 	  warnings and errors.
ingo@1149: 
ingo@1149: 	* src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java: Use the
ingo@1149: 	  WSPLGENCalculation to save errors and warnings.
ingo@1149: 
ingo@1149: 	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENReportFacet.java:
ingo@1149: 	  New. This facet is used for WSPLGEN reports. It stores an instance of
ingo@1149: 	  WSPLGENCalculation which saves ERRORS and WARNINGS that occur while
ingo@1149: 	  WSPLGEN execution.
ingo@1149: 
ingo@1149: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1149: 	  Create a WSPLGENReportFacet for WSPLGEN reports.
ingo@1149: 
ingo@1149: 	* doc/conf/conf.xml: Added an OutputGenerator 'report' for WSPLGEN
ingo@1149: 	  reports.
ingo@1149: 
ingo@1149: 	* doc/conf/artifacts/winfo.xml: Added an output 'report' for WSPLGEN
ingo@1149: 	  reports.
ingo@1149: 
felix@1148: 2011-09-08  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1148: 
felix@1148: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
felix@1148: 	  src/main/java/de/intevation/flys/artifacts/math/WKmsOperation.java,
felix@1148: 	  src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
felix@1148: 	  Cosmetics, docs.
felix@1148: 
ingo@1147: 2011-09-08  Ingo Weinzierl <ingo@intevation.de>
ingo@1147: 
ingo@1147: 	* src/main/java/de/intevation/flys/wsplgen/JobObserver.java: Small
ingo@1147: 	  adjustments that makes it easier to subclass this observer.
ingo@1147: 
ingo@1147: 	* src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java: New. A
ingo@1147: 	  sublcass of JobObserver which analyses the WSPLGEN output for errors and
ingo@1147: 	  warnings.
ingo@1147: 
ingo@1147: 	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Use
ingo@1147: 	  JobObserver and ProblemObserver to track the whole WSPLGEN output and
ingo@1147: 	  print number of errors/warnings to log output.
ingo@1147: 
felix@1146: 2011-09-08  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1146: 
felix@1146: 	Added translation of w_differences.
felix@1146: 
felix@1146: 	* src/main/resources/messages_de_DE.properties,
felix@1146: 	  src/main/resources/messages_de.properties,
felix@1146: 	  src/main/resources/messages_en.properties,
felix@1146: 	  src/main/resources/messages.properties:
felix@1146: 	  Added "w_differnces" translation.
felix@1146: 
ingo@1145: 2011-09-07  Ingo Weinzierl <ingo@intevation.de>
ingo@1145: 
ingo@1145: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Appended
ingo@1145: 	  a new attribute 'background-processing' to the DESCRIBE of this
ingo@1145: 	  Artifact. Its value is 'true' if this Artifact has started a background
ingo@1145: 	  thread which has not finished yet - otherwise it is 'false.
ingo@1145: 
ingo@1144: 2011-09-07  Ingo Weinzierl <ingo@intevation.de>
ingo@1144: 
ingo@1144: 	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java,
ingo@1144: 	  src/main/java/de/intevation/flys/utils/GeometryUtils.java: Moved the
ingo@1144: 	  code to determine the extent of a river based on its axis to
ingo@1144: 	  GeometryUtils.
ingo@1144: 
ingo@1144: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1144: 	  Determine the extent of the selected river and set the WMSLayerFacet's
ingo@1144: 	  extent attribute.
ingo@1144: 
felix@1143: 2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1143: 
felix@1143: 	Added Themeing support for CrossSection Diagrams.
felix@1143: 
felix@1143: 	* doc/conf/themes.xml:
felix@1143: 	  Added new themes and mappings, slightly modified longitudinalsection
felix@1143: 	  theme.
felix@1143: 
felix@1142: 2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1142: 
felix@1142: 	In CrossSection Diagram fix subtitle to display the km of which the data is
felix@1142: 	actually displayed (maybe contrasting users wish).
felix@1142: 
felix@1142: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1142: 	  (getCrossSectionSnapKm): New method to fetch the actual km of crosssection.
felix@1142: 
felix@1142: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
felix@1142: 	  Add correct km to charts subtitle.
felix@1142: 
felix@1141: 2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1141: 
felix@1141: 	Fix various display-issues like i18n in cross-section diagram.
felix@1141: 
felix@1141: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
felix@1141: 	  Set description of facets to expected values.
felix@1141: 
felix@1141: 	* src/main/java/de/intevation/flys/artifacts/exports/CrossSectionGenerator.java:
felix@1141: 	  Fix i18n of chart title. Set subtitle to expected value, pass facets
felix@1141: 	  description to StyledSeries to see expected legend.
felix@1141: 
felix@1141: 2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1141: 
felix@1141: 	Cosmetics, resolved refactoring todo.
felix@1141: 
felix@1141: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java
felix@1141: 	  (compute, computeAdvance, computeFeed): Refactored, extracted method,
felix@1141: 	  resolving duplicate code and TODO.
felix@1141: 
felix@1139: 2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1139: 
felix@1139: 	Fix waterline "calculation" at given km. Chosen approach is
felix@1139: 	"head-through-wall".
felix@1139: 
felix@1139: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1139: 	  Some refactoring to do the same calculation twice easier and be able
felix@1139: 	  to "cross" waterline against correct profile data.
felix@1139: 
felix@1139: 
felix@1138: 2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1138: 
felix@1138: 	Fix setting of kilometer for profile (not yet waterlevel) of cross section
felix@1138: 	diagram.
felix@1138: 
felix@1138: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1138: 	  (getCrossSectionData): Respect corss_section.km data; do naive linear
felix@1138: 	  search for profile data for this km.
felix@1138: 
felix@1138: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java:
felix@1138: 	  Declare a ComputeType.
felix@1138: 
felix@1138: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
felix@1138: 	  Implement computeFeed.
felix@1138: 
felix@1137: 2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1137: 
felix@1137: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
felix@1137: 	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1137: 	  Minor cosmetics.
felix@1137: 
felix@1136: 2011-09-07  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1136: 
felix@1136: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java,
felix@1136: 	  src/main/java/de/intevation/flys/artifacts/model/DataFacet.java,
felix@1136: 	  src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
felix@1136: 	  src/main/java/de/intevation/flys/artifacts/state/DefaultState.java:
felix@1136: 	  Cosmetics, docs.
felix@1136: 
ingo@1135: 2011-09-06  Ingo Weinzierl <ingo@intevation.de>
ingo@1135: 
ingo@1135: 	* doc/conf/mapserver/barrier_polygons_class.vm,
ingo@1135: 	  doc/conf/mapserver/barrier_lines_class.vm,
ingo@1135: 	  doc/conf/mapserver/wsplgen_class.vm: Default Mapserver styles for
ingo@1135: 	  barriers and WSPLGEN results. Those styles are only used as long as we
ingo@1135: 	  don't have map specific themes (as already used in charts).
ingo@1135: 
ingo@1135: 	* doc/conf/mapserver/layer.vm: Implements a fallback mechanism for styling
ingo@1135: 	  barrier lines/polygons and WSPLGEN results.
ingo@1135: 
ingo@1135: 	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Added a
ingo@1135: 	  getStyle() method that currently returns "null". This method needs to be
ingo@1135: 	  implemented when map themes are introduced.
ingo@1135: 
ingo@1134: 2011-09-06  Ingo Weinzierl <ingo@intevation.de>
ingo@1134: 
ingo@1134: 	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Renamed
ingo@1134: 	  some attributes to make their job in the mapfile more obvious.
ingo@1134: 
ingo@1134: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
ingo@1134: 	  new facet type for barriers.
ingo@1134: 
ingo@1134: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: Add
ingo@1134: 	  a facet for the barriers layer.
ingo@1134: 
ingo@1134: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Parse
ingo@1134: 	  barriers (lines and polygons) and create two new layers for each type -
ingo@1134: 	  those layers are grouped.
ingo@1134: 
ingo@1134: 	* doc/conf/mapserver/layer.vm: Renamed attribute based on changes in
ingo@1134: 	  LayerInfo and added support for Group-Layers.
ingo@1134: 
raimund@1133: 2011-09-06  Raimund Renkert <raimund.renkert@intevation.de>
raimund@1133: 
raimund@1133: 	* doc/conf/conf.xml:
raimund@1133: 	  Added driver to database configuration for use with postgresql.
raimund@1133: 
ingo@1132: 2011-09-06  Ingo Weinzierl <ingo@intevation.de>
ingo@1132: 
ingo@1132: 	* doc/conf/mapserver/mapfile.vm: Removed FONTSET attribute and set quotes
ingo@1132: 	  for SHAPEPATH.
ingo@1132: 
ingo@1131: 2011-09-05  Ingo Weinzierl <ingo@intevation.de>
ingo@1131: 
ingo@1131: 	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENFacet.java:
ingo@1131: 	  Removed. We gonna use the WMSLayerFacet until now.
ingo@1131: 
ingo@1131: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1131: 	  Add a WMSLayerFacet after we triggered the Scheduler to start a WSPLGEN
ingo@1131: 	  calculation.
ingo@1131: 
ingo@1130: 2011-09-05  Ingo Weinzierl <ingo@intevation.de>
ingo@1130: 
ingo@1130: 	* doc/conf/mapserver/layer.vm,
ingo@1130: 	  doc/conf/mapserver/mapfile.vm: Small bugfixes and style improvements.
ingo@1130: 
ingo@1130: 	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Trigger the
ingo@1130: 	  MapfileGenerator after a WSPLGEN job has finished regardless if it has
ingo@1130: 	  been finished successfully or not.
ingo@1130: 
ingo@1129: 2011-09-05  Ingo Weinzierl <ingo@intevation.de>
ingo@1129: 
ingo@1129: 	* pom.xml: Added Apache Velocity 1.7 for templating support.
ingo@1129: 
ingo@1129: 	* doc/conf/conf.xml: Added config options for mapserver/template relevant
ingo@1129: 	  stuff.
ingo@1129: 
ingo@1129: 	* doc/conf/mapserver/mapfile.vm,
ingo@1129: 	  doc/conf/mapserver/layer.vm: New. A default mapfile template and a
ingo@1129: 	  template used for layers.
ingo@1129: 
ingo@1129: 	* src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: New.
ingo@1129: 	  This class is used while reading WMS layer relevant information from
ingo@1129: 	  filesystem.
ingo@1129: 
ingo@1129: 	* src/main/java/de/intevation/flys/utils/MapfileGenerator.java: New. This
ingo@1129: 	  thread is used for creating mapfiles for Mapserver. The MapfileGenerator
ingo@1129: 	  runs in daemon mode (own thread) and creates mapfiles based on WMS
ingo@1129: 	  layer relevant information read from filesystem.
ingo@1129: 
ingo@1129: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java,
ingo@1129: 	  src/main/java/de/intevation/flys/utils/FLYSUtils.java: Moved shapefile
ingo@1129: 	  specific XPath expressions from FloodMapState to FLYSUtils which is a
ingo@1129: 	  better place to use it in other classes (as MapfileGenerator).
ingo@1129: 
ingo@1128: 2011-09-05  Ingo Weinzierl <ingo@intevation.de>
ingo@1128: 
ingo@1128: 	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java:
ingo@1128: 	  Bugfixed broken attribute assignment.
ingo@1128: 
ingo@1128: 	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Call
ingo@1128: 	  CallContext.afterBackground() after a WSPLGEN job has finished to remove
ingo@1128: 	  the background lock from Artifact.
ingo@1128: 
ingo@1128: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1128: 	  Call CallContext.afterCall(BACKGROUND) to lock the Artifact for
ingo@1128: 	  background processing.
ingo@1128: 
ingo@1127: 2011-09-02  Ingo Weinzierl <ingo@intevation.de>
ingo@1127: 
ingo@1127: 	* src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: New. This
ingo@1127: 	  class is used to start WSPLGEN for a specific WSPLGENJob. The System
ingo@1127: 	  property "wsplgen.bin.path" tells the JobExecutor where the WSPLGEN
ingo@1127: 	  binary is placed (which means in general, the property points to the
ingo@1127: 	  'wsplgen.exe').
ingo@1127: 
ingo@1127: 	* src/main/java/de/intevation/flys/wsplgen/Scheduler.java: New. This
ingo@1127: 	  scheduler currently allows to start just a single WSPLGEN Thread. All
ingo@1127: 	  WSPLGEN calculations should be started using Scheduler.addJob().
ingo@1127: 
ingo@1127: 	* src/main/java/de/intevation/flys/wsplgen/JobObserver.java: New. This
ingo@1127: 	  thread reads log messages from WSPLGEN and listens for specific
ingo@1127: 	  messages. It should be used to update status messages of the WSPLGEN
ingo@1127: 	  calculation that is currently running.
ingo@1127: 	  There is a System property that tells the JobObserver to log all WSPLGEN
ingo@1127: 	  output to log4j: enable WSPLGEN output with "-Dwsplgen.log.output=true".
ingo@1127: 
ingo@1127: 	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Added
ingo@1127: 	  the FLYSArtifact, the current working directory and the CallContext.
ingo@1127: 
ingo@1127: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1127: 	  Use the Scheduler to start new WSPLGEN calculations.
ingo@1127: 
felix@1126: 2011-09-02  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1126: 
felix@1126: 	Add CrossSectionInfoGenerator.
felix@1126: 
felix@1126: 	* src/main/java/de/intevation/flys/exports/CrossSectionInfoGenerator.java:
felix@1126: 	  New, trivial implementation of CrossSectionInfoGenerator.
felix@1126: 
felix@1126: 	* doc/conf/conf.xml:
felix@1126: 	  Register CrossSectionInfoGenerator.
felix@1126: 
felix@1125: 2011-09-01  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1125: 
felix@1125: 	Cleanups of CrossSection*.
felix@1125: 
felix@1125: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1125: 	  New methods to retrieve name of utilized CrossSection.
felix@1125: 
felix@1125: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
felix@1125: 	  Cleanup, get rid of copied unused method, documentation and more sensible
felix@1125: 	  translations.
felix@1125: 
felix@1125: 	* src/main/resources/messages_de_DE.properties,
felix@1125: 	  src/main/resources/messages_de.properties,
felix@1125: 	  src/main/resources/messages_en.properties,
felix@1125: 	  src/main/resources/messages.properties:
felix@1125: 	  Added cross_section* translations, also cleanups.
felix@1125: 
ingo@1124: 2011-09-01  Ingo Weinzierl <ingo@intevation.de>
ingo@1124: 
ingo@1124: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1124: 	  Set the "typ" attribute of lines and polygons in barrier shapefiles.
ingo@1124: 
ingo@1123: 2011-09-01  Ingo Weinzierl <ingo@intevation.de>
ingo@1123: 
ingo@1123: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1123: 	  Set the Z values of line and polygon barrier geometries. Both barrier
ingo@1123: 	  shapefiles will contain 3D geometries now.
ingo@1123: 
felix@1125: 2011-09-01  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1122: 
felix@1122: 	Get real data to display in CrossSection (although ignorant of
felix@1122: 	parameterization), making use of the showcase code of the CrossSectionApp-
felix@1122: 	Standalone application.
felix@1122: 
felix@1122: 	* doc/conf/artifacts/winfo.xml: Add new facet (~waterline) to state/out.
felix@1122: 
felix@1122: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1122: 	  New methods to get relevant data. So far just takes the first value of
felix@1122: 	  everything and assuming a waterlevel at 130m.
felix@1122: 
felix@1122: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java:
felix@1122: 	  New Facet responsible of water level in cross section.
felix@1122: 
felix@1122: 	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
felix@1122: 	  Made some functionality publicly and statically available.
felix@1122: 
felix@1122: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java:
felix@1122: 	  Update call.
felix@1122: 
felix@1122: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added new
felix@1122: 	  Facet type.
felix@1122: 
felix@1122: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
felix@1122: 	  Added new Facet to out.
felix@1122: 
felix@1122: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
felix@1122: 	  Respect new facet and facets data.
felix@1122: 
ingo@1121: 2011-09-01  Ingo Weinzierl <ingo@intevation.de>
ingo@1121: 
ingo@1121: 	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Close an open
ingo@1121: 	  shapefile transaction and catch exceptions which are thrown while
ingo@1121: 	  shapefile creation here. If there occured an error, this functions
ingo@1121: 	  returns FALSE, otherwise TRUE.
ingo@1121: 
ingo@1121: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1121: 	  Removed exception handling while shapefile creation - this is done in
ingo@1121: 	  GeometryUtils now.
ingo@1121: 
ingo@1120: 2011-09-01  Ingo Weinzierl <ingo@intevation.de>
ingo@1120: 
ingo@1120: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1120: 	  Renamed the file for WSPLGEN required waterlevels to "waterlevels.wst".
ingo@1120: 	  WSPLGEN did not work with the former "waterlevels.txt" file.
ingo@1120: 
ingo@1119: 2011-09-01  Ingo Weinzierl <ingo@intevation.de>
ingo@1119: 
ingo@1119: 	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: New static
ingo@1119: 	  function that builds new SimpleFeatureTypes with additional attributes.
ingo@1119: 
ingo@1119: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1119: 	  Write attributes "ELEVATION" and "KILOMETER" into the crosssection
ingo@1119: 	  tracks shapefiles.
ingo@1119: 
ingo@1118: 2011-08-31  Ingo Weinzierl <ingo@intevation.de>
ingo@1118: 
ingo@1118: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method
ingo@1118: 	  stub that should return a FLYSArtifact based on a given UUID.
ingo@1118: 
ingo@1118: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1118: 	  Write the selected WST file for WSPLGEN. Note, that this is the WST file
ingo@1118: 	  of the current WINFO artifact. Furthermore, there is currently no way
ingo@1118: 	  for the user to select a column from WST file, so we currently use the
ingo@1118: 	  column that is written to WST file at first.
ingo@1118: 
ingo@1117: 2011-08-31  Ingo Weinzierl <ingo@intevation.de>
ingo@1117: 
ingo@1117: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed
ingo@1117: 	  the parameter order of a compute(...) method. This makes me able to call
ingo@1117: 	  this without a hash value.
ingo@1117: 
ingo@1117: 	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java,
ingo@1117: 	  src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
ingo@1117: 	  src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java:
ingo@1117: 	  Adapted the parameter order of the compute() call (see above).
ingo@1117: 
felix@1116: 2011-08-31  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1116: 
felix@1116: 	More bones to CrossSection sceleton.
felix@1116: 
felix@1116: 	* src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java,
felix@1116: 	  src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java:
felix@1116: 	  New, yet trivial implementations of Factory and Facet for CrossSections.
felix@1116: 
felix@1116: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
felix@1116: 	  Add new CrossSection- (instead of Default-)Facet.
felix@1116: 
felix@1116: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
felix@1116: 	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
felix@1116: 	  Adjusted to use (touch) new Factory and Facet.
felix@1116: 
felix@1115: 2011-08-31  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1115: 
felix@1115: 	Cosmetics.
felix@1115: 
felix@1115: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1115: 	  Cosmetics.
felix@1115: 
felix@1113: 2011-08-31  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1113: 
felix@1113: 	Cosmetics.
felix@1113: 
felix@1113: 	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
felix@1113: 	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
felix@1113: 	  src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java,
felix@1113: 	  src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
felix@1113: 	  Removed obselete imports.
felix@1113: 
felix@1113: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1113: 	  Removed obselete imports, whitespaces.
felix@1113: 
felix@1113: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1113: 	  Whitespaces, docs.
felix@1113: 
felix@1112: 2011-08-31  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1112: 
felix@1112: 	Fix translations of Main Values Facets.
felix@1112: 
felix@1112: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1112: 	  Do acrobatics to keep state transient but get translated title.
felix@1112: 
felix@1112: 	* src/main/java/de/intevation/flys/artifacts/MainValuesQFacet.java,
felix@1112: 	  src/main/java/de/intevation/flys/artifacts/MainValuesWFacet.java:
felix@1112: 	  Changed constructor to get description (which is then already be translated)
felix@1112: 	  dynamically, adjust deepCopy.
felix@1112: 
felix@1112: 	* src/main/java/de/intevation/flys/states/StaticState.java:
felix@1112: 	  Adjust constructor accordingly.
felix@1112: 
felix@1111: 2011-08-31  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1111: 
felix@1111: 	Add sceleton for CrossSection outs.
felix@1111: 
felix@1111: 	* doc/conf/artifacts/winfo.xml:
felix@1111: 	  Added new output mode to respective state of winfo artifact configuration.
felix@1111: 
felix@1112: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
felix@1111: 	  Add new Dummy-Facet in state.
felix@1111: 
felix@1111: 	* doc/conf/conf.xml:
felix@1111: 	  Registered new OutputGenerator.
felix@1111: 
felix@1111: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@1111: 	  Added new CROSS_SECTION type.
felix@1111: 
felix@1111: 	* src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java:
felix@1111: 	  New, stubby skeleton for an CrossSectionGenerator.
felix@1111: 
felix@1111: 	* src/main/resources/messages_de_DE.properties,
felix@1111: 	  src/main/resources/messages_de.properties,
felix@1111: 	  src/main/resources/messages_en.properties,
felix@1111: 	  src/main/resources/messages.properties:
felix@1111: 	  Added cross_section translation, also cleanups (e.g. main values).
felix@1111: 
ingo@1110: 2011-08-31  Ingo Weinzierl <ingo@intevation.de>
ingo@1110: 
felix@1114: 	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Marked
ingo@1110: 	  required parameters with a comment.
ingo@1110: 
ingo@1110: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1110: 	  Export floodplains (german 'Talaue') to shapefile and write its file
ingo@1110: 	  path into the WSPLGEN job.
ingo@1110: 
ingo@1109: 2011-08-31  Ingo Weinzierl <ingo@intevation.de>
ingo@1109: 
ingo@1109: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1109: 	  Search for a DGM that fits to the current river and km range and write
ingo@1109: 	  its file path into the WSPLGEN job.
ingo@1109: 
ingo@1108: 2011-08-30  Ingo Weinzierl <ingo@intevation.de>
ingo@1108: 
ingo@1108: 	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Improved
ingo@1108: 	  exception handling: exceptions are catched in GeometryUtils now.
ingo@1108: 
ingo@1108: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1108: 	  Write river axis and crosssections to shapefiles and save shapefile
ingo@1108: 	  pathes in WSPLGENJob.
ingo@1108: 
ingo@1107: 2011-08-30  Ingo Weinzierl <ingo@intevation.de>
ingo@1107: 
ingo@1107: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1107: 	  Use the coorect SRID for reading GeoJSON and writing line/polygon
ingo@1107: 	  shapefiles.
ingo@1107: 
ingo@1107: 	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: Use a
ingo@1107: 	  concrete coordinate system while feature type creation.
ingo@1107: 
ingo@1106: 2011-08-30  Ingo Weinzierl <ingo@intevation.de>
ingo@1106: 
ingo@1106: 	* pom.xml: Added GeoTools 2.7.2 dependencies for Shapefile, GeoJSON and
ingo@1106: 	  EPSG support.
ingo@1106: 
ingo@1106: 	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Store
ingo@1106: 	  'LIN' parameter in a list now. A WSPLGEN parameter might contain many
ingo@1106: 	  LINs.
ingo@1106: 
ingo@1106: 	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: New functions
ingo@1106: 	  to create FeatureTypes and to write shapefiles.
ingo@1106: 
ingo@1106: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1106: 	  Write user specified barriers into a shapefile placed in the artifact
ingo@1106: 	  directory.
ingo@1106: 
ingo@1105: 2011-08-30  Ingo Weinzierl <ingo@intevation.de>
ingo@1105: 
ingo@1105: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function
ingo@1105: 	  that extracts the SRID defined in the global configuration file for a
ingo@1105: 	  given river.
ingo@1105: 
ingo@1105: 	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
ingo@1105: 	  Removed the code that extracts the river SRID - use FLYSUtils instead.
ingo@1105: 
felix@1104: 2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1104: 
felix@1104: 	Use FLYSUtils.getRiver instead of WINFOArtifact.getRiver.
felix@1104: 
felix@1104: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
felix@1104: 	  Use FLYSUtils.getRiver instead of WINFOArtifact.getRiver.
felix@1104: 
felix@1103: 2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1103: 
felix@1103: 	Use FLYSUtils.getRiver instead of WINFOArtifact.getRiver.
felix@1103: 
felix@1103: 	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
felix@1103: 	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
felix@1103: 	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java,
felix@1103: 	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
felix@1103: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
felix@1103: 	  Use FLYSUtils.getRiver instead of WINFOArtifact.getRiver.
felix@1103: 
felix@1102: 2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1102: 
felix@1102: 	Commit accidentally omitted result of refactoring (WINFO/FLYSUtils/getRiver).
felix@1102: 
felix@1102: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
felix@1102: 	  Removed implementations of getRiver, update calls to use FLYSUtils.
felix@1102: 
felix@1101: 2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1101: 
felix@1101: 	Interpolate Q main values, generate interpolated W main values on the fly from
felix@1101: 	Q main values.
felix@1101: 
felix@1101: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1101: 	  (getGaugeDatum): removed, obsolete
felix@1101: 	  (getLocation): new, gets location
felix@1101: 	  Use WstValueTable to look up interpolated Qs of MainValues. In absence of
felix@1101: 	  the same functionality for Ws, generate W Main Values from Q Main Values.
felix@1101: 
felix@1100: 2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1100: 
felix@1100: 	Use new helper class FLYSUtils, minor refactorization.
felix@1100: 
felix@1100: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1100: 	  Use new functionality of helper class, convenience of FLYSArtifact.
felix@1100: 
felix@1099: 2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1099: 
felix@1099: 	Refactored to use new Helper class FLYSUtils, moved getRiver-functionality
felix@1099: 	in there.
felix@1099: 
felix@1099: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java (getRiver):
felix@1099: 	  New function to retrieve river of an artifact, slightly modified from
felix@1099: 	  WINFOArtifact.
felix@1099: 
felix@1102: 	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
felix@1099: 	  Removed implementations of getRiver, update calls to use FLYSUtils.
felix@1099: 
felix@1098: 2011-08-29  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1098: 
felix@1098: 	Minor cosmetics.
felix@1098: 
felix@1098: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1098: 	  Resolved a TODO.
felix@1098: 
felix@1098: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
felix@1098: 	  Added some documentation.
felix@1098: 
felix@1098: 	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
felix@1098: 	  Minor cosmetic.
felix@1098: 
sascha@1097: 2011-08-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1097: 
sascha@1097: 	* doc/conf/meta-data.xml: Made it Oracle compatible.
sascha@1097: 
sascha@1097: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java:
sascha@1097: 	  If running in debug mode log executed statements.
sascha@1097: 	  Helps debugging Oracle connections.
sascha@1097: 
ingo@1096: 2011-08-26  Ingo Weinzierl <ingo@intevation.de>
ingo@1096: 
ingo@1096: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1096: 	  Set some WSPLGENJob parameters which are stored at FLYSArtifact.
ingo@1096: 
ingo@1095: 2011-08-26  Ingo Weinzierl <ingo@intevation.de>
ingo@1095: 
ingo@1095: 	* src/main/java/de/intevation/flys/utils/FLYSUtils.java: New. This helper
ingo@1095: 	  class should provide some basic FLYS stuff. Currently, there are functions
ingo@1095: 	  that return the km range/location.
ingo@1095: 
ingo@1095: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed
ingo@1095: 	  the methods that return the km range/locations. This is implemented in
ingo@1095: 	  FLYSUtils now.
ingo@1095: 
ingo@1095: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
ingo@1095: 	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
ingo@1095: 	  src/main/java/de/intevation/flys/exports/ChartGenerator.java: Adapted
ingo@1095: 	  the WINFO method calls to retrieve the km range/locations - call
ingo@1095: 	  FLYSUtils now.
ingo@1095: 
ingo@1094: 2011-08-26  Ingo Weinzierl <ingo@intevation.de>
ingo@1094: 
ingo@1094: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New method
ingo@1094: 	  to destroy a single state.
ingo@1094: 
felix@1093: 2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1093: 
felix@1093: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1093: 	  Cosmetic, remove debug output and comments, minor style adjustments.
felix@1093: 
felix@1092: 2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1092: 
felix@1092: 	Added limited themeing-support for MainValues.
felix@1092: 
felix@1092: 	* doc/conf/themes.xml:
felix@1092: 	  Added Q/W-MainValues themes.
felix@1092: 
felix@1092: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1092: 	  Added limited theming support, add legend entry for main values.
felix@1092: 
ingo@1091: 2011-08-26  Ingo Weinzierl <ingo@intevation.de>
ingo@1091: 
ingo@1091: 	* doc/conf/conf.xml: Added a configuration node that points to the directory
ingo@1091: 	  where shapefiles should be stored in.
ingo@1091: 
ingo@1091: 	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: New.
ingo@1091: 	  This class is used to save/write the parameter for a WSPLGEN calculation.
ingo@1091: 	  WSPLGEN's *.par files are written using the toFile() method.
ingo@1091: 
ingo@1091: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1091: 	  A directory for all WSPLGEN stuff is created in computeAdvance() - those
ingo@1091: 	  directory and all its contained files are removed in endOfLife().
ingo@1091: 
felix@1090: 2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1090: 
felix@1090: 	* src/main/java/de/intevation/flys/utils/ThemeUtil.java:
felix@1090: 	  New Util to work with theme-related stuff.
felix@1090: 
felix@1089: 2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1089: 
felix@1089: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1089: 	  Use NamedDoubles instead of MainValues, try to adjust scale of Ws.
felix@1089: 
felix@1089: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1089: 	  Use NamedDoubles instead of MainValues, generalize annotation handling, to
felix@1089: 	  allow easier reusability and themeing.
felix@1089: 
felix@1089: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
felix@1089: 	  Added convenience constructor, exemplary switch on bordered text.
felix@1089: 
felix@1088: 2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1088: 
felix@1088: 	* doc/conf/meta-data.xml:
felix@1088: 	  Recommend MainValues for Computed discharge curves.
felix@1088: 
felix@1087: 2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1087: 
felix@1087: 	New NamedDouble class which implements a <String,double>-pair.
felix@1087: 
felix@1087: 	* src/main/java/de/intevation/flys/artifacts/model/NamedDouble.java:
felix@1087: 	  New, implementation of a double with a string or vice versa.
felix@1087: 
ingo@1086: 2011-08-26  Ingo Weinzierl <ingo@intevation.de>
ingo@1086: 
ingo@1086: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Call
ingo@1086: 	  State.endOfLife() for all States when endOfLife() of the Artifact is
ingo@1086: 	  called.
ingo@1086: 
felix@1085: 2011-08-26  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1085: 
felix@1085: 	Also plot "W"-MainValues (on vertical axis), take correct parameters, but
felix@1085: 	do not convert to correct scale (cm vs NN+m).
felix@1085: 
felix@1085: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
felix@1085: 	  Naive attempt at allowing the vertical axis to be sticked at.
felix@1085: 
felix@1085: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1085: 	  Store Q and W MainValues separately, add them to plot as annotations.
felix@1085: 
felix@1085: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1085: 	  Serve the MainValues, parameterized on river and location, Q and W.
felix@1085: 	  Removed Facet-implementation.
felix@1085: 
felix@1085: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@1085: 	  Updated Facet Types.
felix@1085: 
felix@1085: 	* src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java:
felix@1085: 	  src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java:
felix@1085: 	  New, trivial facets, extracted from MainValuesArtifact.
felix@1085: 
ingo@1084: 2011-08-26  Ingo Weinzierl <ingo@intevation.de>
ingo@1084: 
ingo@1084: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Call
ingo@1084: 	  State.endOfLife() of each State that is no longer in the queue of the
ingo@1084: 	  artifact when this artifact steps back to a previous state.
ingo@1084: 
felix@1083: 2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1083: 
felix@1083: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1083: 	  Plot MainValues delivered by MainValuesFacet in much the same ways than
felix@1083: 	  Annotations in LongitudinalSection plots.
felix@1083: 
felix@1082: 2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1082: 
felix@1082: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
felix@1082: 	  Prepare further differentiation between Annotations that stick to X or Y-
felix@1082: 	  Axis, copied some positioning logic into StickyAxisAnnotation
felix@1082: 	  implementation.
felix@1082: 
felix@1081: 2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1081: 
felix@1081: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
felix@1081: 	  Minor cosmetics.
felix@1081: 
felix@1080: 2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1080: 
felix@1080: 	Added MainValue-Fetching-Capabilities to MainValuesArtifact.
felix@1080: 
felix@1080: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java
felix@1080: 	  (initialize, getMinValues):
felix@1080: 	  Let MainValuesArtifact return "real" MainValues, although ignorant of all
felix@1080: 	  parameterization.
felix@1080: 
felix@1080: 2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1080: 
felix@1080: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java
felix@1080: 	  (MainValueFacet):
felix@1080: 	  Improved and straightened implementation, added code-Annotations and Todos.
felix@1080: 
felix@1079: 2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1079: 
felix@1079: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java
felix@1079: 	  (MainValueFacet):
felix@1079: 	  Improved and straightened implementation, added code-Annotations and Todos.
felix@1079: 
felix@1078: 2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1078: 
felix@1078: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java
felix@1078: 	  (getState):
felix@1078: 	  Resolved multiple creation of state (yet not very clean).
felix@1078: 
felix@1077: 2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1077: 
felix@1077: 	* src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java,
felix@1077: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1077: 	  Cosmetics, docs.
felix@1077: 
felix@1077: 	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
felix@1077: 	  Cosmetics.
felix@1077: 
felix@1076: 2011-08-25  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1076: 
felix@1076: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
felix@1076: 	  Added new (MainValues) Facet-Type.
felix@1076: 
ingo@1075: 2011-08-24  Ingo Weinzierl <ingo@intevation.de>
ingo@1075: 
ingo@1075: 	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java:
ingo@1075: 	  Added a method that returns a River object based on its database id.
ingo@1075: 
ingo@1075: 	* src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: The
ingo@1075: 	  data that is required for this artifact is fetched from database instead
ingo@1075: 	  from a Master-Artifact. The creation of static artifacts should use
ingo@1075: 	  database ids instead of cloning a Master-Artifact.
ingo@1075: 
ingo@1074: 2011-08-24  Ingo Weinzierl <ingo@intevation.de>
ingo@1074: 
ingo@1074: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
ingo@1074: 	  Removed needless imports.
ingo@1074: 
felix@1073: 2011-08-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1073: 
felix@1076: 	Added configuration for factory and rule for MainValueArtifacts.
felix@1073: 
felix@1073: 	* doc/conf.xml:
felix@1073: 	  Add a mainvalue factory to serve MainValueArtifacts.
felix@1073: 
felix@1073: 	* doc/conf/meta-data.xml:
felix@1073: 	  Recomment mainvalue artifact when computed_discharge_curve can be put out.
felix@1073: 
felix@1073: 2011-08-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1073: 
felix@1073: 	Let MainValuesArtifact have a state, outputmode and facet.
felix@1073: 
felix@1073: 	* src/main/java/de/intevation/flys/artifacts/states/StaticState.java:
felix@1073: 	  New, a non-abstract DefaultState.
felix@1073: 
felix@1073: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1073: 	  Progressed with implementation, use StaticState to hook output modes and
felix@1073: 	  facet in; use (Static)FLYSArtifact implementation.
felix@1073: 
felix@1070: 2011-08-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1070: 
felix@1070: 	Smaller cosmetics.
felix@1070: 
felix@1070: 	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java,
felix@1070: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
felix@1070: 	  Cosmetics in comments.
felix@1070: 
felix@1070: 	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
felix@1070: 	  Added @Override annotations.
felix@1070: 
felix@1070: 	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java:
felix@1070: 	  Use brackets to improve readability of ternary operator.
felix@1070: 
felix@1071: 2011-08-24  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1069: 
sascha@1069: 	* doc/conf/meta-data.xml: Use "ids" in user specific part, too.
sascha@1069: 
felix@1071: 2011-08-24  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1068: 
sascha@1068: 	* doc/conf/meta-data.xml: s/db-ids/ids/g to unify system and user specific
sascha@1068: 	  loading.
sascha@1068: 
felix@1067: 2011-08-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1067: 
felix@1067: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
felix@1067: 	  Extracted access to state and states in order to have fewer places to
felix@1067: 	  modify when going for single/trivial state- artifacts.
felix@1067: 
ingo@1066: 2011-08-24  Ingo Weinzierl <ingo@intevation.de>
ingo@1066: 
ingo@1066: 	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java:
ingo@1066: 	  Append the river's srid to the WMSLayerFacet.
ingo@1066: 
felix@1065: 2011-08-24  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1065: 
felix@1065: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1065: 	  Minor fixes, ressurect Facet implementation as inner class.
felix@1065: 
ingo@1064: 2011-08-24  Ingo Weinzierl <ingo@intevation.de>
ingo@1064: 
ingo@1064: 	* doc/conf/artifacts/winfo.xml: Moved the input of barriers one state
ingo@1064: 	  earlier where the scenario is selected as well.
ingo@1064: 
ingo@1064: 	* src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java:
ingo@1064: 	  This state now desires the "map_digitize" UI provider and returns both
ingo@1064: 	  items "scenario" and "uesk.barriers" in the dynamic describe part.
ingo@1064: 
ingo@1064: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1064: 	  Removed the UI provider and the computeFeed() which is no longer needed,
ingo@1064: 	  because there is no more user input in this state.
ingo@1064: 
ingo@1063: 2011-08-24  Ingo Weinzierl <ingo@intevation.de>
ingo@1063: 
ingo@1063: 	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java,
ingo@1063: 	  src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
ingo@1063: 	  Repaired broken xpath expressions (the config changed in one of the last
ingo@1063: 	  commits) and make use of the variable support in xpath expressions to
ingo@1063: 	  replace the rivername.
ingo@1063: 
ingo@1063: 	* src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java:
ingo@1063: 	  Save the rivername while initializing this artifact. This is now
ingo@1063: 	  necessary, because each river can have its own background wms
ingo@1063: 	  configured.
ingo@1063: 
ingo@1062: 2011-08-23  Ingo Weinzierl <ingo@intevation.de>
ingo@1062: 
ingo@1062: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
ingo@1062: 	  Repaired broken river-wms initialization.
ingo@1062: 
sascha@1061: 2011-08-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1061: 
sascha@1061: 	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java,
sascha@1061: 	  src/main/java/de/intevation/flys/artifacts/model/DataFacet.java,
sascha@1061: 	  src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
sascha@1061: 	  src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java,
sascha@1061: 	  src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java,
sascha@1061: 	  src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java,
sascha@1061: 	  src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java,
sascha@1061: 	  src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java,
sascha@1061: 	  src/main/java/de/intevation/flys/artifacts/model/WSPLGENFacet.java:
sascha@1061: 	  Made facets cloneable with the right type.
sascha@1061: 
sascha@1061: 	* src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java,
sascha@1061: 	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
sascha@1061: 	  Removed superfluous imports.
sascha@1061: 
ingo@1060: 2011-08-23  Ingo Weinzierl <ingo@intevation.de>
ingo@1060: 
ingo@1060: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@1060: 	  Declare the first artifact of an output as master artifact (artifacts
ingo@1060: 	  are ordered by their creation time).
ingo@1060: 
sascha@1059: 2011-08-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1059: 
sascha@1059: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
sascha@1059: 	  Removed facet interface.
sascha@1059: 
sascha@1059: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@1059: 	  Make artifacts cloneable. TODO: Override deepCopy() in subclassed
sascha@1059: 	  states and facets.
sascha@1059: 
ingo@1058: 2011-08-23  Ingo Weinzierl <ingo@intevation.de>
ingo@1058: 
ingo@1058: 	* doc/conf/conf.xml: Added the MapInfoService and adapted the floodmap
ingo@1058: 	  configuration. Now, each river can have its own background wms layer
ingo@1058: 	  defined.
ingo@1058: 
ingo@1058: 	* src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java:
ingo@1058: 	  New. This service returns some basic information used to create maps for
ingo@1058: 	  a specific river. The name of the desired river needs to be defined at
ingo@1058: 	  "/mapinfo/river/text()".
ingo@1058: 
ingo@1058: 	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
ingo@1058: 	  Adapted an xpath expression that points to the srid of a river in the
ingo@1058: 	  floodmap configuration (which changed).
ingo@1058: 
sascha@1057: 2011-08-22  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1057: 
sascha@1057: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@1057: 	  Build out/facet filter from XML document passed at creation time.
sascha@1057: 
sascha@1056: 2011-08-22  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1056: 
sascha@1056: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@1056: 	  Added some code to filter outs/facets by an optional positive list.
sascha@1056: 	  This is needed to only expose parts of the facets. This
sascha@1056: 	  is needed for artifacts which are loaded into a collection.
sascha@1056: 	  TODO: create the filter from the XML document passed at creation
sascha@1056: 	  time.
sascha@1056: 
sascha@1055: 2011-08-22  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1055: 
sascha@1055: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Moved all
sascha@1055: 	  WINFO specific code to WINFOArtifact. FLYSArtifact is now only revolving 
sascha@1055: 	  about state affairs.
sascha@1055: 
sascha@1055: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Re-inserted
sascha@1055: 	  the specific stuff here.
sascha@1055: 	  
sascha@1055: 	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
sascha@1055: 	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
sascha@1055: 	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java,
sascha@1055: 	  src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
sascha@1055: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
sascha@1055: 	  src/main/java/de/intevation/flys/exports/ChartGenerator.java:
sascha@1055: 	  Adjusted the casts.
sascha@1055: 
sascha@1054: 2011-08-22  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1054: 
sascha@1054: 	* doc/conf/meta-data.xml: Filter by outs in user template part.
sascha@1054: 
ingo@1053: 2011-08-22  Ingo Weinzierl <ingo@intevation.de>
ingo@1053: 
ingo@1053: 	* doc/conf/artifacts/winfo.xml: Defined an input value for the GeoJSON
ingo@1053: 	  string to save user defined barriers in the map.
ingo@1053: 
ingo@1053: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@1053: 	  Added a computeFeed() method. In addition, this state now prefers the
ingo@1053: 	  "noinput" UI provider.
ingo@1053: 
ingo@1052: 2011-08-19  Ingo Weinzierl <ingo@intevation.de>
ingo@1052: 
ingo@1052: 	* doc/conf/conf.xml: Each river requires a SRID definition. This
ingo@1052: 	  definition is used to transform the river's geometries into the desired
ingo@1052: 	  projection.
ingo@1052: 
ingo@1052: 	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
ingo@1052: 	  This facets are able to save a SRID.
ingo@1052: 
ingo@1052: 	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
ingo@1052: 	  The extent that is written into the WMSLayerFacet is determined by the
ingo@1052: 	  boundary of the geometry.
ingo@1052: 
ingo@1052: 	* src/main/java/de/intevation/flys/utils/GeometryUtils.java: New. A
ingo@1052: 	  utility class that provides helper functions for geometries. Currently,
ingo@1052: 	  one function is defined, that creates a boundary string for OpenLayers.
ingo@1052: 
sascha@1051: 2011-08-19  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1051: 
sascha@1051: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
sascha@1051: 	  src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java,
sascha@1051: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java,
sascha@1051: 	  src/main/java/de/intevation/flys/artifacts/states/ProfileDistanceSelect.java,
sascha@1051: 	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
sascha@1051: 	  src/main/java/de/intevation/flys/artifacts/states/RangeState.java:
sascha@1051: 	  Removed superfluous imports.
sascha@1051: 
sascha@1050: 2011-08-19  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1050: 
sascha@1050: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
sascha@1050: 	  Removed CallContext from state validation. It is not needed and hindered
sascha@1050: 	  the extraction of all out of an artifact if you don't have a
sascha@1050: 	  call context (like initial scan of datacage database).
sascha@1050: 
sascha@1050: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@1050: 	  Extract all outs now.
sascha@1050: 
sascha@1050: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/FloodplainChoice.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/ProfileDistanceSelect.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/RangeState.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
sascha@1050: 	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@1050: 	  Adjusted calls.
sascha@1050: 
felix@1049: 2011-08-19  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1049: 
felix@1049: 	* src/main/resources/messages.properties,
felix@1049: 	  src/main/resources/messages_de_DE.properties,
felix@1049: 	  src/main/resources/messages_en.properties,
felix@1049: 	  src/main/resources/messages_de.properties:
felix@1049: 	  Added lacalization of "Streckenfavoriten".
felix@1049: 
felix@1048: 2011-08-19  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1048: 
felix@1048: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
felix@1048: 	  Picky white-space cosmetics.
felix@1048: 
felix@1047: 2011-08-19  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1047: 
felix@1047: 	Added stub implementation of new MainValuesArtifact.
felix@1047: 
felix@1047: 	* src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java:
felix@1047: 	  New. Stub implementation for new MainValuesArtifact.
felix@1047: 
sascha@1046: 2011-08-19  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1046: 
sascha@1046: 	Fixed flys/issue262
sascha@1046: 
sascha@1046: 	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
sascha@1046: 	  Unified user and system tempate.
sascha@1046: 	  Looks for "/artifact-database/metadata/template/text()"
sascha@1046: 	  in conf.xml. Defaults to "${artifacts.config.dir}/meta-data.xml". If user id is
sascha@1046: 	  given its the default connection for contexts.
sascha@1046: 
sascha@1046: 	* doc/conf/conf.xml: Adjusted
sascha@1046: 	* doc/conf/meta-data-system.xml, doc/conf/meta-data-user.xml: Deleted.
sascha@1046: 	* doc/conf/meta-data.xml: Unified version of user and system template.
sascha@1046: 
sascha@1046: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/App.java:
sascha@1046: 	  Adjusted the test program.
sascha@1046: 
sascha@1045: 2011-08-18  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1045: 
sascha@1045: 	Fixed flys/issue260
sascha@1045: 
sascha@1045: 	* doc/conf/meta-data-user.xml: Uses master_artifacts view now.
sascha@1045: 
sascha@1044: 2011-08-18  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1044: 
sascha@1044: 	* doc/conf/datacage.sql: Added view master_artifacts to select
sascha@1044: 	  the master artifacts of the collections more easily.
sascha@1044: 	  To upgrade existing database:
sascha@1044: 
sascha@1044: 	    CREATE VIEW master_artifacts AS
sascha@1044: 	        SELECT a2.id             AS id,
sascha@1044: 	               a2.gid            AS gid,
sascha@1044: 	               a2.state          AS state,
sascha@1044: 	               a2.creation       AS creation,
sascha@1044: 	               ci2.collection_id AS collection_id
sascha@1044: 	        FROM   collection_items ci2 
sascha@1044: 	               JOIN artifacts a2 
sascha@1044: 	                 ON ci2.artifact_id = a2.id 
sascha@1044: 	               JOIN (SELECT ci.collection_id AS c_id, 
sascha@1044: 	                            MIN(a.creation)  AS oldest_a 
sascha@1044: 	                     FROM   collection_items ci 
sascha@1044: 	                            JOIN artifacts a 
sascha@1044: 	                              ON ci.artifact_id = a.id 
sascha@1044: 	                     GROUP  BY ci.collection_id) o 
sascha@1044: 	                 ON o.c_id = ci2.collection_id 
sascha@1044: 	        WHERE  a2.creation = o.oldest_a;
sascha@1044: 
sascha@1044: 	 TODO: Use the view in the templates.
sascha@1044: 
sascha@1043: 2011-08-18  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1043: 
sascha@1043: 	* doc/conf/meta-data-user.xml: Removed state filter because it was broken.
sascha@1043: 	  Simplified by joining two contexts.
sascha@1043: 
felix@1042: 2011-08-18  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1042: 
felix@1042: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
felix@1042: 	  Fix issues with lines of annotation when zoomed (wrong scale used).
felix@1042: 
felix@1042: 2011-08-18  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1042: 
felix@1042: 	Added legend for annotations to LongitudinalSectionDiagram.
felix@1042: 
felix@1042: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1042: 	  Added a pseudo-dataseries/collection to employ existing infrastructure for
felix@1042: 	  displaying localized label for Annotations (yet unthemed).
felix@1042: 
felix@1042: 	* src/main/resources/messages.properties,
felix@1042: 	  src/main/resources/messages_de_DE.properties,
felix@1042: 	  src/main/resources/messages_en.properties,
felix@1042: 	  src/main/resources/messages_de.properties:
felix@1042: 	  Made label-string available for localization.
felix@1042: 
felix@1040: 2011-08-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1040: 
felix@1040: 	Moved StickyAxisAnnotation into new package de.intevation.flys.jfree .
felix@1040: 
felix@1040: 	* src/main/java/de/intevation/flys/exports/StickyAxisAnnotation.java:
felix@1040: 	  Deleted/moved to src/main/java/de/intevation/flys/jfree/ .
felix@1040: 
felix@1040: 	* src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java:
felix@1040: 	  New/moved from src/main/java/de/intevation/flys/export/ , adjusted
felix@1040: 	  package statement, made class public.
felix@1040: 
felix@1040: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1040: 	  Added import statement for de.intevation.flys.jfree.StickyAxisAnnotation .
felix@1040: 
felix@1038: 2011-08-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1038: 
felix@1038: 	Extracted and renamed CustomAnnotation to StickyAxisAnnotation. Also removed
felix@1038: 	needless imports.
felix@1038: 
felix@1038: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
felix@1038: 	  src/main/java/de/intevation/flys/exports/StickyAxisAnnotation.java:
felix@1038: 	  Extracted class implementation CustomAnnotation and renamed to
felix@1038: 	  StickyAxisAnnotation.
felix@1038: 
felix@1037: 2011-08-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1037: 
felix@1037: 	Improved CustomAnnotations and rendering thereof, now including an
felix@1037: 	"axis mark" (little line at axis), also prepared possibility to put
felix@1037: 	annotations on Y-axis.
felix@1037: 
felix@1037: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1037: 	  Improved CustomAnnotation to include marks on the axis and better spacing
felix@1037: 	  from it.
felix@1037: 
felix@1037: 2011-08-17  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1036: 
felix@1036: 	Implemented proof-of-concept collision-detection when drawing
felix@1036: 	CustomAnnotations (text only).
felix@1036: 
felix@1036: 	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java:
felix@1036: 	  Pass a fresh ChartRenderingInfo-Object to createBufferedImage, such that
felix@1036: 	  information can be collected while rendering.
felix@1036: 
felix@1036: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1036: 	  Exploit the fact that XYTextAnnotation already registers drawn shape in the
felix@1036: 	  ChartRenderingInfo if it exists and either an URL or tooltip is set.
felix@1036: 	  Before drawing, calculate own shape and compare against already registered
felix@1036: 	  shapes.
felix@1036: 
felix@1035: 2011-08-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1035: 
felix@1035: 	Implemented (yet dummy) custom Annotation class.
felix@1035: 
felix@1035: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1035: 	  Added implementation of yet dummy CustomAnnotation class.
felix@1035: 
felix@1034: 2011-08-16  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1034: 
felix@1034: 	Slightly improved rendering of annotations.
felix@1034: 
felix@1034: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1034: 	  Slightly improved rendering of annotations. Still no valid collision
felix@1034: 	  detection. Annotations are drawn every 2 km; first come first serve.
felix@1034: 
sascha@1033: 2011-08-15  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1033: 
sascha@1033: 	Fix for flys/issue191
sascha@1033: 
sascha@1033: 	* src/main/java/de/intevation/flys/artifacts/model/WQ.java(longestIncreasingWRangeIndices):
sascha@1033: 	  Added a method to find the longest index range with increasing w values.
sascha@1033: 
sascha@1033: 	* src/main/java/de/intevation/flys/exports/ATWriter.java: Export the longest
sascha@1033: 	  range of monotone increasing w values instead of the first one.
sascha@1033: 	  TODO: The first line of the export is still broken.
sascha@1033: 
sascha@1033: 	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
sascha@1033: 	  Removed superfluous import.
sascha@1033: 
felix@1032: 2011-08-12  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1032: 
felix@1032: 	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java:
felix@1032: 	  Resolved two TODOs: get Annotations of selected River, get "point"
felix@1032: 	  Annotations only.
felix@1032: 
felix@1031: 2011-08-12  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1031: 
felix@1031: 	Added functionality to query range and point-annotations only to
felix@1031: 	AnnotationFactory.
felix@1031: 
felix@1031: 	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java
felix@1031: 	  (getPointAnnotations, getAnnotationsBreadth):
felix@1031: 	  New functions to query breadth and point-only annotations.
felix@1031: 
sascha@1030: 2011-08-11  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1030: 
sascha@1030: 	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
sascha@1030: 	  Added a development mode for recommendations. Enabled with
sascha@1030: 	  stetting system property 'flys.datacage.recommendations.development' to true.
sascha@1030: 	  When set the XML template are re-read if the timestamps of the
sascha@1030: 	  files have changed so you do not have to restart the server again and again.
sascha@1030: 
sascha@1030: 	* doc/conf/meta-data-user.xml: Sort collections by creation time in descending order.
sascha@1030: 
felix@1029: 2011-08-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1029: 
felix@1029: 	Rather picky cosmetics only.
felix@1029: 
felix@1029: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
felix@1029: 	  src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java,
felix@1029: 	  src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java,
felix@1029: 	  src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java,
felix@1029: 	  src/main/java/de/intevation/flys/artifacts/model/WQKms.java,
felix@1029: 	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java,
felix@1029: 	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
felix@1029: 	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
felix@1029: 	  End comments on a full stop, separate from closing '*/' by whitespace,
felix@1029: 	  adjusted javadoc comments.
felix@1029: 
felix@1028: 2011-08-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1028: 
felix@1028: 	Made Annotations visible in LongitudinalSection diagrams.
felix@1028: 
felix@1028: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java,
felix@1028: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
felix@1028: 	  Register new Facet Type, let LongitudinalSectionGenerator include
felix@1028: 	  Annotations in diagram (yet unfiltered and independent of river).
felix@1028: 
felix@1027: 2011-08-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1027: 
felix@1027: 	* doc/conf/conf.xml,
felix@1027: 	  doc/conf/artifacts/annotation.xml,
felix@1027: 	  doc/conf/meta-data-system.xml:
felix@1027: 	  Added configuration for AnnotationArtifacts.
felix@1027: 
felix@1026: 2011-08-11  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1026: 
felix@1026: 	Added demo- implementation of a AnnotationArtifact and its Facet.
felix@1026: 
felix@1026: 	* src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java,
felix@1026: 	  src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java,
felix@1026: 	  src/main/java/de/intevation/flys/artifacts/states/AnnotationRiverState.java:
felix@1026: 	  New. Initial version of an AnnotationArtifact and its State and Facet.
felix@1026: 
sascha@1025: 2011-08-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1025: 
sascha@1025: 	* doc/conf/datacage.sql: Extended schema for artifacts and collections
sascha@1025: 	  to have creation times, too.
sascha@1025: 
sascha@1025: 	  To update existing databases:
sascha@1025: 
sascha@1025: 	    ALTER TABLE artifacts ADD COLUMN creation TIMESTAMP NOT NULL DEFAULT current_timestamp;
sascha@1025: 	    ALTER TABLE collections ADD COLUMN creation TIMESTAMP NOT NULL DEFAULT current_timestamp;
sascha@1025: 
sascha@1025: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@1025: 	  Store creation times for artifacts and collections, too.
sascha@1025: 
sascha@1025: 	* src/main/resources/datacage-sql/org-h2-driver.properties,
sascha@1025: 	  src/main/resources/datacage-sql/org-postgresql-driver.properties:
sascha@1025: 	  Adjusted SQL statements.
sascha@1025: 
sascha@1025: 2011-08-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1025: 
sascha@1025: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@1025: 	  Make it compilable again (BackendListener interface changed).
sascha@1025: 
sascha@1023: 2011-08-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1023: 
sascha@1023: 	* doc/conf/meta-data-user.xml: Added grouping element around w/q of each
sascha@1023: 	  longitudinal section artifact.
sascha@1023: 
sascha@1023: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java,
sascha@1023: 	  src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java:
sascha@1023: 	  Added some debugging capabilities.
sascha@1023: 
sascha@1023: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/ResultData.java:
sascha@1023: 	  Added isEmpty() method.
sascha@1023: 
sascha@1023: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
sascha@1023: 	  Now it is possible to nest <dc:elements> into other elements in the <dc:context>
sascha@1023: 	  body. This is useful and needed for grouping and repeating results.
sascha@1023: 
sascha@1022: 2011-08-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1022: 
sascha@1022: 	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
sascha@1022: 	  User connection was cached, system was not. Lead to incorrect results.
sascha@1022: 
sascha@1021: 2011-08-09  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1021: 
sascha@1021: 	* doc/conf/meta-data-user.xml: Added <old_calculations> element
sascha@1021: 	  around old calculations.
sascha@1021: 
sascha@1020: 2011-08-09  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1020: 
sascha@1020: 	* src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java:
sascha@1020: 	  Cosmetic: Replaced usage of legacy java.util.Stack with java.util.Deque.
sascha@1020: 
sascha@1019: 2011-08-04  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1019: 
sascha@1019: 	* doc/conf/meta-data-user.xml: Use 'CAST(x AS uuid)' instead of 'x::uuid'
sascha@1019: 	  to be more compatible.
sascha@1019: 
sascha@1018: 2011-08-04  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1018: 
sascha@1018: 	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
sascha@1018: 	  If given an artifact place its identifier into parameters passed to template.
sascha@1018: 	  Fixed swapped user/system connections if using the user template.
sascha@1018: 
sascha@1018: 	* doc/conf/meta-data-user.xml: Recommend w/q facet from old calculations
sascha@1018: 	  if an artifact was given that represents a longitudinal section
sascha@1018: 	  "Laengsschnitt".
sascha@1018: 
sascha@1018: 	  TODO  I: The template uses PostgreSQL specific UUID casts.
sascha@1018: 	  TODO II: We need to find a way only to recommend the master artifacts.
sascha@1018: 
sascha@1017: 2011-08-04  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1017: 
sascha@1017: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
sascha@1017: 	  Added a <dc:comment> tag to place comments in the meta data templates.
sascha@1017: 	  <!-- ... --> comments are copied through.
sascha@1017: 
sascha@1017: 	* doc/conf/meta-data-user.xml: Added a simple test.
sascha@1017: 
sascha@1016: 2011-08-04  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1016: 
sascha@1016: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@1016: 	  Be a bit more tolerant about empty strings for UUIDs of artifact and user.
sascha@1016: 
sascha@1015: 2011-08-03  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1015: 
sascha@1015: 	Bring user specific meta data service to life.
sascha@1015: 
sascha@1015: 	* doc/conf/conf.xml: There are now two templates to configure:
sascha@1015: 	  The system template (only the data from the backend) and the
sascha@1015: 	  user template (the datcage db and the backend db),
sascha@1015: 
sascha@1015: 	* doc/conf/meta-data-template.xml: Deleted.
sascha@1015: 	* doc/conf/meta-data-user.xml: New. The user specific template. TODO: Write it!
sascha@1015: 	* doc/conf/meta-data-system.xml: New. The system template.
sascha@1015: 
sascha@1015: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/NoneUserSpecific.java:
sascha@1015: 	  Deleted.
sascha@1015: 	* src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java:
sascha@1015: 	  New. The logic to fill the templates.
sascha@1015: 
sascha@1015: 	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java:
sascha@1015: 	  Adjusted to follow the new call signatures.
sascha@1015: 
sascha@1015: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@1015: 	  Refactored. Removed the old code and only leave the new service. Following
sascha@1015: 	  XPaths are evaluated on the incomming document:
sascha@1015: 
sascha@1015: 	  "/art:meta/art:artifact-id/@value" The UUID of the artifact. Optional.
sascha@1015: 	                                     Used to fill the template enviroment.
sascha@1018: 	  "/art:meta/art:user-id/@value"     The UUID of the user. Optional.
sascha@1015: 	                                     If given the user specific template is filled.
sascha@1015: 	  "/art:meta/art:outs/@value"        The list of outs used to recommend for the
sascha@1015: 	                                     various outputs.
sascha@1015: 	  "/art:meta/art:parameters/@value"  A list of key/value pairs to inject more
sascha@1015: 	                                     filters to the templating.
sascha@1015: 
sascha@1015: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/App.java:
sascha@1015: 	  Change to follow the new recommendations semantics.
sascha@1015: 
sascha@1015: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
sascha@1015: 	  Added symbolic constants to distinguish "user" and "system" db connections.
sascha@1015: 
felix@1014: 2011-08-03  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1014: 
felix@1014: 	* doc/conf/conf.xml:
felix@1014: 	  Cosmetics, let comments start with a capital and end on a full stop,
felix@1014: 	  removed incorrect comment.
felix@1014: 
felix@1013: 2011-08-03  Felix Wolfsteller <felix.wolfsteller@intevation.de>
felix@1013: 
felix@1013: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
felix@1013: 	  Cosmetics, let comments start with a capital and end on a full stop.
felix@1013: 
sascha@1012: 2011-08-03  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1012: 
sascha@1012: 	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java(extractOutputNames):
sascha@1012: 	  Fixed potential NPE.
sascha@1012: 
sascha@1011: 2011-08-03  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1011: 
sascha@1011: 	Added support for more than one db connection in datacage templating.
sascha@1011: 
sascha@1011: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java:
sascha@1011: 	  Now you can pass a list of named db connections to the build process.
sascha@1011: 	  The purpose is to mix more then one database (e.g. the backend db and
sascha@1011: 	  the user specific one).
sascha@1011: 
sascha@1011: 	  To use this feature you can add an "connection" attribute
sascha@1011: 	  to <dc:context> with the name of the connection to use.
sascha@1011: 	  If no connection name is given the last used is used again.
sascha@1011: 	  Initially the first connection in the given list is used. 
sascha@1011: 	  If the context is left the connection that was active before 
sascha@1011: 	  will be active again in a stacking manner.
sascha@1011: 
sascha@1011: 	  When creating NamedConnection objects you can set a boolean flag
sascha@1011: 	  if the results coming from the connection should be cached. This
sascha@1011: 	  is useful e.g. for the user specific database which runs in-memory
sascha@1011: 	  so caching would introduce some superfluous overhead.
sascha@1011: 
sascha@1011: 	* src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java:
sascha@1011: 	  When executing the queries explicitly pass if caching should be used.
sascha@1011: 
sascha@1010: 2011-08-02  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1010: 
sascha@1010: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@1010: 	  Forgot to fetch dialect dependent SQL statement for deleting
sascha@1010: 	  artifacts by uuid.
sascha@1010: 
sascha@1009: 2011-08-02  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1009: 
sascha@1009: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@1009: 	  Set the name of the collections at initial scan, too.
sascha@1009: 
sascha@1008: 2011-08-02  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1008: 
sascha@1008: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@1008: 	  Fixed wrong SQL references.
sascha@1008: 
sascha@1007: 2011-08-02  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1007: 
sascha@1007: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@1007: 	  Fixed two NPEs.
sascha@1007: 
sascha@1006: 2011-08-02  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1006: 
sascha@1006: 	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java,
sascha@1006: 	  src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@1006: 	  Forwarded kill collections and artifacts events to datacage.
sascha@1006: 	
sascha@1006: 	* src/main/resources/datacage-sql/org-h2-driver.properties,
sascha@1006: 	  src/main/resources/datacage-sql/org-postgresql-driver.properties:
sascha@1006: 	  Added statement to delete artifact by uuid.
sascha@1006: 
sascha@1005: 2011-08-02  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1005: 
sascha@1005: 	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java:
sascha@1005: 	  Made it compilable again. The signature of BackendListener has changed.
sascha@1005: 
sascha@1004: 2011-08-01  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1004: 
sascha@1004: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@1004: 	  Completed the backend listener stuff.
sascha@1004: 
sascha@1004: 	  TODO  I: Added some cleanup for orphaned artifacts.
sascha@1004: 	  TODO II: Figure out a way to delete collections/artifacts
sascha@1004: 	           which are delete from backend without the 
sascha@1004: 			   backend API.
sascha@1004: 
sascha@1004: 	* src/main/resources/datacage-sql/org-h2-driver.properties,
sascha@1004: 	  src/main/resources/datacage-sql/org-postgresql-driver.properties:
sascha@1004: 	  Added needed statements.
sascha@1004: 
sascha@1003: 2011-08-01  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1003: 
sascha@1003: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@1003: 	  Update collection names on change. Remove artifacts from collections.
sascha@1003: 
sascha@1003: 	* src/main/resources/datacage-sql/org-h2-driver.properties,
sascha@1003: 	  src/main/resources/datacage-sql/org-postgresql-driver.properties:
sascha@1003: 	  Added needed statements.
sascha@1003: 
sascha@1002: 2011-08-01  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1002: 
sascha@1002: 	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java:
sascha@1002: 	  Call datacage with the global context. This is needed to access the state engine.
sascha@1002: 
sascha@1002: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: Changed
sascha@1002: 	  signatures to take the global context, too. Create artifacts via backend listener
sascha@1002: 	  interface.
sascha@1002: 
sascha@1001: 2011-08-01  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1001: 
sascha@1001: 	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java:
sascha@1001: 	  Fixed recursion bug.
sascha@1001: 
sascha@1000: 2011-08-01  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@1000: 
sascha@1000: 	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java:
sascha@1000: 	  Added debug output.
sascha@1000: 
sascha@999: 2011-08-01  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@999: 
sascha@999: 	* doc/conf/conf.xml: Added backend listener for datacage.
sascha@999: 
sascha@999: 	* src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java:
sascha@999: 	  New. Proxies backend listener calls to datacage.
sascha@999: 	 
sascha@999: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@999: 	  Implements backend listener. TODO: Update the datacage database
sascha@999: 	  according the change calls.
sascha@999: 
sascha@998: 2011-08-01  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@998: 
sascha@998: 	* src/main/java/de/intevation/flys/artifacts/services/meta,
sascha@998: 	  src/main/java/de/intevation/flys/artifacts/datacage/templating:
sascha@998: 	  Moved/renamed package to better fit the common semantics.
sascha@998: 	  DataCage.java is now call NoneUserSpecific.java to reflect the
sascha@998: 	  fact that it is the template for the user independent db
sascha@998: 	  analysis.
sascha@998: 
sascha@998: 	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java,
sascha@998: 	  src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@998: 	  Ajusted imports and calls.
sascha@998: 
sascha@997: 2011-08-01  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@997: 
sascha@997: 	* doc/conf/conf.xml: For documentation purposes added a out-commented 
sascha@997: 	  section with the default configuration of the datacage.
sascha@997: 
sascha@996: 2011-07-31  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@996: 
sascha@996: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@996: 	  Delete the artifacts at before initial scan, too. They are independent
sascha@996: 	  from users. Fixed problem when writing state data content.
sascha@996: 
sascha@996: 	* src/main/resources/datacage-sql/org-h2-driver.properties: Added
sascha@996: 	  statement to delete the artifacts at initial scan, too.
sascha@996: 
sascha@996: 	* src/main/resources/datacage-sql/org-postgresql-driver.properties:
sascha@996: 	  New. PostgreSQL version of the statements. The database scheme
sascha@996: 	  is the same as H2. Very useful for debugging.
sascha@996: 
sascha@995: 2011-07-31  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@995: 
sascha@995: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@995: 	  Added kludge for the types of artifact data. They seem to be null
sascha@995: 	  in some circumstances. Needs to be debugged!
sascha@995: 
sascha@994: 2011-07-31  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@994: 
sascha@994: 	* src/main/java/de/intevation/flys/artifacts/datacage/DBConfig.java:
sascha@994: 	  Fixed default connection URL to use a namend in-mermory database.
sascha@994: 
sascha@994: 2011-07-31  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@993: 
sascha@993: 	* doc/conf/datacage.sql: Fixed constraint.
sascha@993: 
sascha@993: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@993: 	  Added some debug output.
sascha@993: 
sascha@992: 2011-07-29  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@992: 
sascha@992: 	* doc/conf/datacage.sql: Removed artifact_id from facet because there
sascha@992: 	  is a link via out_id -> outs.id: artifact_id -> artifacts to
sascha@992: 	  find the corresponding artifact.
sascha@992: 
sascha@992: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
sascha@992: 	  src/main/resources/datacage-sql/org-h2-driver.properties: Store
sascha@992: 	  facets of outs into datacage db at initial scan.
sascha@992: 
sascha@991: 2011-07-29  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@991: 
sascha@991: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
sascha@991: 	  src/main/resources/datacage-sql/org-h2-driver.properties:
sascha@991: 	  Store outs of artifacts into datacage db at initial scan.
sascha@991: 	  TODO: store facets.
sascha@991: 
sascha@990: 2011-07-29  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@990: 
sascha@990: 	* doc/conf/datacage.sql: Added 'type' column in artifacts data.
sascha@990: 	  Maybe useful for filtering.
sascha@990: 
sascha@990: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
sascha@990: 	  src/main/resources/datacage-sql/org-h2-driver.properties:
sascha@990: 	  Store artifact data into db at initial scan.
sascha@990: 	  TODO: store outs and facets.
sascha@990: 
sascha@989: 2011-07-29  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@989: 
sascha@989: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
sascha@989: 	  src/main/resources/datacage-sql/org-h2-driver.properties:
sascha@989: 	  Add artifacts into datacage db at initial scan.
sascha@989: 	  TODO: Store data, outs and facets.
sascha@989: 
sascha@988: 2011-07-28  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@988: 
sascha@988: 	* doc/conf/datacage.sql: Fixed spelling in sequence name.
sascha@988: 
sascha@988: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
sascha@988: 	  src/main/resources/datacage-sql/org-h2-driver.properties: Simply add
sascha@988: 	  collection item at initial scan if artifact was stored before.
sascha@988: 	  TODO: Store new artifacts.
sascha@988: 
sascha@987: 2011-07-28  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@987: 
sascha@987: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
sascha@987: 	  src/main/resources/datacage-sql/org-h2-driver.properties: Add
sascha@987: 	  collections at initial scan.
sascha@987: 
sascha@986: 2011-07-28  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@986: 
sascha@986: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
sascha@986: 	  src/main/resources/datacage-sql/org-h2-driver.properties: Add users
sascha@986: 	  at initial scan.
sascha@986: 
sascha@985: 2011-07-28  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@985: 
sascha@985: 	* doc/conf/datacage.sql: Using sequences for id generation now
sascha@985: 	  to make schema more compatible.
sascha@985: 
sascha@985: 2011-07-28  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@984: 
sascha@984: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java,
sascha@984: 	  src/main/resources/datacage-sql/org-h2-driver.properties: Clear database
sascha@984: 	  before initial scan.
sascha@984: 
sascha@985: 2011-07-28  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@983: 
sascha@983: 	* src/main/java/de/intevation/flys/artifacts/datacage/DBConnection.java:
sascha@983: 	  Deleted. This stuff comes from the artifact database now.
sascha@983: 
sascha@983: 	* src/main/java/de/intevation/flys/artifacts/datacage/DBConfig.java:
sascha@983: 	  New. The db config of the datacage database.
sascha@983: 
sascha@983: 	* src/main/resources/datacage-sql/org-h2-driver.properties: New.
sascha@983: 	  The SQL statements needed for the datacage.
sascha@983: 
sascha@983: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@983: 	  Make use of the db config.
sascha@983: 
sascha@982: 2011-07-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@982: 
sascha@982: 	* src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java:
sascha@982: 	  New. A artifact database lifetime listener to build the initial
sascha@982: 	  index of the artifacts in database.
sascha@982: 
sascha@982: 	* doc/conf/conf.xml: Added the datacage to the list of lifetime
sascha@982: 	  listeners.
sascha@982: 
sascha@981: 2011-07-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@981: 
sascha@981: 	* doc/conf/datacage.sql: Added an explicit table for the outs
sascha@981: 	  of an artifact.
sascha@981: 
sascha@981: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@981: 	  Make the current outs of an artifact accessible only with
sascha@981: 	  the global context.
sascha@981: 	
sascha@980: 2011-07-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@980: 
sascha@980: 	* doc/conf/datacage.sql: Added ON DELETE CASCADE constraints.
sascha@980: 	  Added state in facet.
sascha@980: 
sascha@979: 2011-07-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@979: 
sascha@979: 	* doc/conf/datacage.sql: New. H2 Schema for the datacage database.
sascha@979: 	  Uses special features like IDENTITY (autoincrement) typed columns.
sascha@979: 
sascha@979: 	* src/main/java/de/intevation/flys/artifacts/datacage/DBConnection.java:
sascha@979: 	  Pooled connection.
sascha@979: 
sascha@979: 	* pom.xml: Added dependencies to H2 and Apache DBCP.
sascha@979: 
sascha@978: 2011-07-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@978: 
sascha@978: 	* src/test/java/de/intevation/flys/artifacts/AppTest.java,
sascha@978: 	  src/main/java/de/intevation/flys/artifacts/App.java: Removed.
sascha@978: 	  This the stupid "Hello, World!" app initially created by the
sascha@978: 	  maven archetype. It was never used.
sascha@978: 
sascha@977: 2011-07-25  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@977: 
sascha@977: 	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
sascha@977: 	  Argh! Usage the DOM was not thread safe (discovered with ab).
sascha@977: 
sascha@976: 2011-07-25  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@976: 
sascha@976: 	* doc/conf/meta-data-template.xml: '$recommended' lead to XPath
sascha@976: 	  errors. Using "dc:contains($parameters, 'recommended')" helps.
sascha@976: 
sascha@976: 	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java,
sascha@976: 	  src/main/java/de/intevation/flys/artifacts/services/meta/FunctionResolver.java:
sascha@976: 	  Added some debugging.
sascha@976: 
sascha@976: 	* src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java:
sascha@976: 	  Added parameters as 'parameters' to parameters. Usefull to check
sascha@976: 	  for containment of variables.
sascha@976: 
sascha@975: 2011-07-25  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@975: 
sascha@975: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@975: 	  Added 'if log.isDebugEnabled() {}'.
sascha@975: 
sascha@975: 2011-07-25  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@974: 
sascha@974: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@974: 	  Made Artifact UUID optional and accept extra parameters, too. This enables
sascha@974: 	  the service to be used without an arttifact and test all filters.
sascha@974: 
sascha@974: 	  <art:meta xmlns:art="http://www.intevation.de/2009/artifacts">
sascha@974: 	     <art:outs value="computed_discharge_curve,floodmap"/>
sascha@974: 	     <art:parameters value="river:Elbe"/>
sascha@974: 	     <art:filters value="recommended"/>
sascha@974: 	  </art:meta>
sascha@974: 
sascha@974: 	* src/main/java/de/intevation/flys/artifacts/services/meta/FunctionResolver.java:
sascha@974: 	  'contain' accept Maps and collection, too.
sascha@974: 
sascha@974: 	* src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java:
sascha@974: 	  Made artifact option (= null) in recommendations.
sascha@974: 
sascha@973: 2011-07-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@973: 
sascha@973: 	* src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java:
sascha@973: 	  Moved connection specific into inner class. The enables the reuse of the
sascha@973: 	  compiled statement.
sascha@973: 
sascha@973: 	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: The
sascha@973: 	  SQL statements are now only compiled once at creation time of the builder.
sascha@973: 	  Each connection now reuses them.
sascha@973: 
sascha@972: 2011-07-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@972: 
sascha@972: 	* doc/conf/cache.xml: Added configuration for static datacage db access.
sascha@972: 
sascha@972: 	* src/main/java/de/intevation/flys/artifacts/services/meta/App.java: Using
sascha@972: 	  caches seems to need an explicit System.exit().
sascha@972: 
sascha@972: 	* src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java:
sascha@972: 	  Added support for caching the SQL statements and there results.
sascha@972: 
sascha@972: 	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: Some
sascha@972: 	  clean up. Reordered code for performance. Strip SQL statements more
sascha@972: 	  aggressively.
sascha@972: 
sascha@972: 	* src/main/java/de/intevation/flys/artifacts/services/meta/ResultData.java:
sascha@972: 	  Made it Serializable.
sascha@972: 
sascha@972: 	* src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java:
sascha@972: 	  Introduced system property 'flys.artifacts.cache.config.file' to make
sascha@972: 	  the caching configurable without pulling up the whole stack.
sascha@972: 
ingo@971: 2011-07-22  Ingo Weinzierl <ingo@intevation.de>
ingo@971: 
ingo@971: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@971: 	  Prepared the FLYSArtifactCollection to support the storage of already
ingo@971: 	  loaded recommendations in its attribute document.
ingo@971: 
sascha@970: 2011-07-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@970: 
sascha@970: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@970: 	  Adjusted to use the DataCage recommendations. The incomming document
sascha@970: 	  can pass the artifacts UUID by '/art:outs/@value' the outs as a
sascha@970: 	  comma separated list in '/art:outs/@value' and optional a set of
sascha@970: 	  filters comma separated in '/art:filters/@value'.
sascha@970: 
sascha@970: 	  If UUID and OUTS are not given the old service is used. This
sascha@970: 	  should be removed as soon as the client uses the new service.
sascha@970: 
sascha@969: 2011-07-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@969: 
sascha@969: 	* src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java:
sascha@969: 	  Allow '-' in variable names.
sascha@969: 
ingo@968: 2011-07-21  Ingo Weinzierl <ingo@intevation.de>
ingo@968: 
ingo@968: 	* doc/conf/meta-data-template.xml: Now, the river-id is really added to
ingo@968: 	  the factory node of the wmsbackground layer.
ingo@968: 
ingo@967: 2011-07-21  Ingo Weinzierl <ingo@intevation.de>
ingo@967: 
ingo@967: 	* doc/conf/meta-data-template.xml: Added the river-id to the factory node
ingo@967: 	  of the riveraxis and wmsbackground layer.
ingo@967: 
sascha@966: 2011-07-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@966: 
sascha@966: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java,
sascha@966: 	  src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java,
sascha@966: 	  src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java,
sascha@966: 	  src/main/java/de/intevation/flys/artifacts/services/RiverService.java:
sascha@966: 	  Adjusted to implement changed Service interface.
sascha@966: 
ingo@965: 2011-07-21  Ingo Weinzierl <ingo@intevation.de>
ingo@965: 
ingo@965: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Refactored
ingo@965: 	  the method that retrieves the Outputs for the Artifact. Now, we are able
ingo@965: 	  to query the Outputs for the current state, and all outputs separately.
ingo@965: 
ingo@965: 	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: The
ingo@965: 	  recommendations provided by this monitor will take the Outputs of the
ingo@965: 	  current state only into account.
ingo@965: 
ingo@964: 2011-07-21  Ingo Weinzierl <ingo@intevation.de>
ingo@964: 
ingo@964: 	* doc/conf/meta-data-template.xml: Added conditions for each output type.
ingo@964: 	  Splitted the "floodmap" output into two parts: a recommended one and a
ingo@964: 	  complete one. The recommended part will only build the document tree for
ingo@964: 	  the recommended artifacts; the complete part will build the whole document
ingo@964: 	  tree that is available for a floodmap.
ingo@964: 
ingo@964: 	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java:
ingo@964: 	  This Hook now uses the DataCage to generate the recommended artifacts.
ingo@964: 	  The output-defaults configurtion is needless now.
ingo@964: 
ingo@964: 	* doc/conf/output-defaults.xml: Removed. The configuration of recommended
ingo@964: 	  artifacts takes place in meta-data-template.xml.
ingo@964: 
ingo@964: 	* src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java:
ingo@964: 	  Bugfix: the DataCage didn't start working if its builder was NOT null,
ingo@964: 	  but it shouldn't start if the builder IS null.
ingo@964: 
sascha@963: 2011-07-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@963: 
sascha@963: 	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
sascha@963: 	  Now it is possible to directly pass a Node as a root to the builder.
sascha@963: 	  The owning document if fetch by Node.getOwnerDocument(). This is
sascha@963: 	  useful if you want to generate the recommendation directly into
sascha@963: 	  an already existing document under a given node.
sascha@963: 
sascha@963: 	* src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java:
sascha@963: 	  Changed the signature of recommend() to accept a node where to
sascha@963: 	  append the recommendations.
sascha@963: 
sascha@962: 2011-07-20  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@962: 
sascha@962: 	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
sascha@962: 	  Added a macro mechanism:
sascha@962: 
sascha@962: 	    <dc:macro name="keine-fuenf">
sascha@962: 	      <dc:text>'5' ist nicht in der Liste der Outs.</dc:text>
sascha@962: 	    </dc:macro>
sascha@962: 	    <dc:call-macro name="keine-fuenf"/>
sascha@962: 	    <dc:call-macro name="keine-fuenf"/>
sascha@962: 	    <dc:call-macro name="keine-fuenf"/>
sascha@962: 
sascha@962: 	  Macros can be defined everywhere in the template
sascha@962: 	  with 'macro'. There bodies can contain all valid elements
sascha@962: 	  including other 'macro's and 'call-macro's. They are
sascha@962: 	  called with their 'name' with 'call-macro'. The control flow
sascha@962: 	  is continued inside the body of the called macro and 
sascha@962: 	  will continue right after the calling 'call-macro' when
sascha@962: 	  the macro body is finished.
sascha@962: 
sascha@961: 2011-07-20  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@961: 
sascha@961: 	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
sascha@961: 	  Added a new 'if' construct similiar to XSLT:
sascha@961: 
sascha@961: 	    <dc:if test="not(dc:contains($outs, '5'))">
sascha@961: 	        <dc:text>'5' ist nicht in der Liste der Outs.</dc:text>
sascha@961: 	    </dc:if>
sascha@961: 
sascha@961: 	  The control flow is continued inside the 'if' if the 'test' attribute
sascha@961: 	  as an XPath expression on an empty document evalutes to true.
sascha@961: 	  Else the inside is skipped. There is no 'else'. Use 'choose'/'otherwise'
sascha@961: 	  if you need this.
sascha@961: 
sascha@960: 2011-07-20  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@960: 
sascha@960: 	* src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java:
sascha@960: 	  Added a recommend() method to generate recommendations for
sascha@960: 	  a given artifact, outs and extra parameters.
sascha@960: 
sascha@960: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added
sascha@960: 	  method to extract all data at once.
sascha@960: 
sascha@959: 2011-07-20  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@959: 
sascha@959: 	* src/main/java/de/intevation/flys/artifacts/services/meta/FunctionResolver.java:
sascha@959: 	  New. Custom XPath function provider. Provides
sascha@959: 	  'dc:contains(Object [] haystack, Object needle)' by now. Should be
sascha@959: 	  useful to check containments in 'out' lists later.
sascha@959: 
sascha@959: 	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
sascha@959: 	  Register the FunctionResolver to the evaluated XPaths.
sascha@959: 
sascha@959: 	* src/main/java/de/intevation/flys/artifacts/services/meta/App.java:
sascha@959: 	  Added code to parse
sascha@959: 	  "param:a,b,c" to "param" -> new String [] { "a", "b", "c" } to
sascha@959: 	  help testing the 'dc:contains' XPath function.
sascha@959: 
ingo@958: 2011-07-20  Ingo Weinzierl <ingo@intevation.de>
ingo@958: 
ingo@958: 	* doc/conf/conf.xml: Added wms configurations for Saar, Mosel and Elbe.
ingo@958: 	  Each river supported by FLYS requires such a WMS configuration. A WMS
ingo@958: 	  should contain layers for the river axis, buildings, kilometer labels
ingo@958: 	  and maybe a background layer as well.
ingo@958: 
ingo@958: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java:
ingo@958: 	  Added key that is used to store a map of WMS URLs - for each river a
ingo@958: 	  WMS URL.
ingo@958: 
ingo@958: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
ingo@958: 	  Parse the river WMS from global configuration.
ingo@958: 
ingo@958: 	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
ingo@958: 	  Create WMSLayerFacets with URLs based on the river and the river wms
ingo@958: 	  configuration stored in the FLYSContext.
ingo@958: 
ingo@958: 	* src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java,
ingo@958: 	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java:
ingo@958: 	  Adapted the initialize() signature and the method call of computeInit()
ingo@958: 	  which requires a FLYSContext to retrieve the river WMS configurations.
ingo@958: 
ingo@958: 	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java,
ingo@958: 	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@958: 	  Added the context object parameter to the computeInit() method.
ingo@958: 
ingo@958: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Call
ingo@958: 	  initialize() with the context object - which is a FLYSContext or a
ingo@958: 	  CallContext.
ingo@958: 
sascha@957: 2011-07-20  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@957: 
sascha@957: 	* src/main/java/de/intevation/flys/artifacts/services/meta/App.java:
sascha@957: 	  Check if builder was created properly before using it.
sascha@957: 
sascha@957: 	* src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java:
sascha@957: 	  Implements now variable provider for XPath expressions.
sascha@957: 	
sascha@957: 	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
sascha@957: 	  Added new choose/when/otherwise construct similiar to XSLT
sascha@957: 
sascha@957: 	      <dc:choose>
sascha@957: 	         <dc:when test="$river = 'Mosel'">
sascha@957: 	             <dc:text>Es ist die Mosel.</dc:text>
sascha@957: 	         </dc:when>
sascha@957: 	         <dc:when test="$river = 'Saar'">
sascha@957: 	             <dc:text>Es ist die Saar.</dc:text>
sascha@957: 	         </dc:when>
sascha@957: 	         <dc:otherwise>
sascha@957: 	            <dc:text>Es ist weder Mosel noch Saar.</dc:text>
sascha@957: 	         </dc:otherwise>
sascha@957: 	      </dc:choose>
sascha@957: 
sascha@957: 	  A 'choose' block can contain a list of 'when's and an optional
sascha@957: 	  'otherwise'. For each 'when' the test attribute is evaluated
sascha@957: 	  as an XPath expression on an empty document. The result of
sascha@957: 	  the evaluation is taken as a boolean value. If its value is
sascha@957: 	  true the control flow is continued inside the corresponding
sascha@957: 	  'when' and the other choose elements are not tested.
sascha@957: 	  If the value is values the testing continues with the next
sascha@957: 	  'when'. If no 'test' expression is evaluated to true, the
sascha@957: 	  control flow continues inside the 'otherwise'. If no 'otherwise'
sascha@957: 	  is given nothing happens at all.
sascha@957: 
ingo@956: 2011-07-20  Ingo Weinzierl <ingo@intevation.de>
ingo@956: 
ingo@956: 	* doc/conf/conf.xml: Added a config section for floodmaps. Currently, the
ingo@956: 	  background layer's url and layername is defined here.
ingo@956: 
ingo@956: 	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java:
ingo@956: 	  Read the background layer configuration from conf.xml. Those values are
ingo@956: 	  used to create the WMSLayerFacet.
ingo@956: 
ingo@955: 2011-07-20  Ingo Weinzierl <ingo@intevation.de>
ingo@955: 
ingo@955: 	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java:
ingo@955: 	  The background layer facet will no longer have an extent set.
ingo@955: 
ingo@954: 2011-07-20  Ingo Weinzierl <ingo@intevation.de>
ingo@954: 
ingo@954: 	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java,
ingo@954: 	  src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java:
ingo@954: 	  Set the extent of the created WMSLayerFacets and i18n its descriptions.
ingo@954: 
ingo@954: 	* src/main/resources/messages.properties,
ingo@954: 	  src/main/resources/messages_de_DE.properties,
ingo@954: 	  src/main/resources/messages_en.properties,
ingo@954: 	  src/main/resources/messages_de.properties: Added I18N strings for the
ingo@954: 	  background an river axis layer.
ingo@954: 
ingo@953: 2011-07-20  Ingo Weinzierl <ingo@intevation.de>
ingo@953: 
ingo@953: 	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
ingo@953: 	  This facet type has a method to set the extent of a WMS layer. The
ingo@953: 	  extent is written to the facets XML node in toXML() as well.
ingo@953: 
ingo@952: 2011-07-20  Ingo Weinzierl <ingo@intevation.de>
ingo@952: 
ingo@952: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Adapted
ingo@952: 	  the signature of setup() which requires a CallMeta parameter now.
ingo@952: 
ingo@952: 	* src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java,
ingo@952: 	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: Use
ingo@952: 	  the CallMeta object retrieved in setup() to call initialize(). It is now
ingo@952: 	  able to i18n things.
ingo@952: 
sascha@951: 2011-07-20  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@951: 
sascha@951: 	* src/main/java/de/intevation/flys/artifacts/services/meta/App.java: New.
sascha@951: 	  Standalone app to debug the datacage template. To use in a maven environment:
sascha@951: 
sascha@951: 	  -Dmeta.data.template=PATH_TO_META_DATA-TEMPLATE.XML \
sascha@951: 	  -Dmeta.data.parameters=river:Mosel \
sascha@951: 	  -Dmeta.data.output=OUTPUT.XML \
sascha@951: 	  -Dflys.backend.user=DB_USER \
sascha@951: 	  -Dflys.backend.password=DB_PASSWORD \
sascha@951: 	  -Dflys.backend.url=DB_CONNECTION_URL \
sascha@951: 	  -Dexec.mainClass=de.intevation.flys.artifacts.services.meta.App
sascha@951: 
sascha@950: 2011-07-20  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@950: 
sascha@950: 	* src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java:
sascha@950: 	  New. First step to factor out the "Datenkorb" logic into a service independent
sascha@950: 	  singleton.
sascha@950: 
sascha@950: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@950: 	  Uses the "Datenkorb" singleton now.
sascha@950: 
ingo@949: 2011-07-20  Ingo Weinzierl <ingo@intevation.de>
ingo@949: 
ingo@949: 	* src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java:
ingo@949: 	  Removed "index" property, because it is already existing in parent
ingo@949: 	  class.
ingo@949: 
sascha@948: 2011-07-19  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@948: 
sascha@948: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@948: 	  Improved error handling.
sascha@948: 
sascha@948: 2011-07-19  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@947: 
sascha@947: 	* src/main/resources/metadata/template.xml: Deleted.
sascha@947: 
sascha@947: 	* doc/conf/meta-data-template.xml: New. Was template.xml
sascha@947: 
sascha@947: 	* doc/conf/conf.xml: Made meta data template configurable.
sascha@947: 
sascha@947: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@947: 	  Load template from configuration not from resources.
sascha@947: 
sascha@948: 2011-07-19  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@946: 
sascha@946: 	* src/main/resources/metadata/template.xml: s/[a-z]+-id/db-id/
sascha@946: 	  Make database ids identifiable with unique name "db-id".
sascha@946: 
ingo@945: 2011-07-19  Ingo Weinzierl <ingo@intevation.de>
ingo@945: 
ingo@945: 	* src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java:
ingo@945: 	  Override the toXML() method. Subclasses can now write their own XML
ingo@945: 	  representation.
ingo@945: 
ingo@945: 	* src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java:
ingo@945: 	  New. This ManagedFacet uses an Element (DOM) to store the information
ingo@945: 	  about a facet. The intent of this facet type is to represent a facet
ingo@945: 	  stored in an Collection attribute. Different facets can have different
ingo@945: 	  attributes that we need to parse, but the only thing ManagedFacets need
ingo@945: 	  to do, is to adjust the attributes "active" and "position". So, those
ingo@945: 	  values are set directly on the Element, the other attributes aren't
ingo@945: 	  touched.
ingo@945: 
ingo@945: 	* src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java:
ingo@945: 	  New. This facet is a wrapper for another facet. This subclass of a
ingo@945: 	  ManagedFacet overrides the toXML() method. The XML representation is
ingo@945: 	  defined by the inner facet that is stored as member variable. The
ingo@945: 	  ManagedFacet specific attributes "artifact", "facet", "pos" and "active"
ingo@945: 	  are added manually.
ingo@945: 
ingo@945: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: Uses
ingo@945: 	  the toXML() method to write a facet node into the attribute document.
ingo@945: 
ingo@945: 	* src/main/java/de/intevation/flys/collections/AttributeParser.java: Uses
ingo@945: 	  the ManagedDomFacet to save the information of a facet which is
ingo@945: 	  contained in the attribute part of a Collection's DESCRIBE document.
ingo@945: 
ingo@945: 	* src/main/java/de/intevation/flys/collections/OutputParser.java: Uses the
ingo@945: 	  ManagedFacetAdapter to save a facet, because we want to keep the
ingo@945: 	  specific facet to be able to write its specific XML representation into
ingo@945: 	  the Collection's DESCRIBE document.
ingo@945: 
ingo@945: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@945: 	  Adapted the XPath of facets stored in the attribute part of the
ingo@945: 	  DESCRIBE.
ingo@945: 
ingo@944: 2011-07-18  Ingo Weinzierl <ingo@intevation.de>
ingo@944: 
ingo@944: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
ingo@944: 	  method that returns the Outputs for the Artifact.
ingo@944: 
ingo@944: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@944: 	  Adapeted the call of OutputParser.
ingo@944: 
ingo@944: 	* src/main/java/de/intevation/flys/collections/OutputParser.java:
ingo@944: 	  Simplified the code to read the Outputs of Artifacts. This parser will
ingo@944: 	  now longer parse the DESCRIBE documents of the Artifacts, but query the
ingo@944: 	  Outputs via FLYSArtifact.getOutputs() directly.
ingo@944: 
ingo@943: 2011-07-18  Ingo Weinzierl <ingo@intevation.de>
ingo@943: 
ingo@943: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
ingo@943: 	  src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java:
ingo@943: 	  Adapted the function call of ProtocolUtils.appendOutputModes().
ingo@943: 
ingo@943: 	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
ingo@943: 	  Override toXML() to add the URL and layernames to the XML representation
ingo@943: 	  of this facet.
ingo@943: 
ingo@942: 2011-07-18  Ingo Weinzierl <ingo@intevation.de>
ingo@942: 
ingo@942: 	* doc/conf/artifacts/wmsbackground.xml,
ingo@942: 	  doc/conf/artifacts/riveraxis.xml: New configurations for an Artifact
ingo@942: 	  that is used as background layer in floodmaps, and an artifact that is
ingo@942: 	  used as layer showing the river axis in a floodmap.
ingo@942: 
ingo@942: 	* doc/conf/output-defaults.xml: New file to configure default artifacts
ingo@942: 	  for specific output states. E.g. the floodmap state recommends a
ingo@942: 	  background layer and a layer displaying the river axis. In suche case,
ingo@942: 	  the floodmap state recommends two artifacts for the two layers.
ingo@942: 
ingo@942: 	* doc/conf/conf.xml: Added new artifacts/artifact-factories and a Hook to
ingo@942: 	  monitor artifacts (-> CollectionMonitor.java).
ingo@942: 
ingo@942: 	* src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java:
ingo@942: 	  New. This facet is used to represent a layer in a map. So, this facet
ingo@942: 	  stores information about a WMS URL and the layer names provided by this
ingo@942: 	  WMS.
ingo@942: 
ingo@942: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
ingo@942: 	  facet types for the wmsbackground and riveraxis.
ingo@942: 
ingo@942: 	* src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java,
ingo@942: 	  src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java:
ingo@942: 	  New. An artifact and its default state. The intent of these classes is
ingo@942: 	  to generate WMSLayerFacets which represent background layers in maps.
ingo@942: 
ingo@942: 	* src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java,
ingo@942: 	  src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: New.
ingo@942: 	  An artifact and its default state. The intent of these classes is to
ingo@942: 	  generate WMSLayerFacets which represent layers that display a river
ingo@942: 	  axis.
ingo@942: 
ingo@942: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@942: 	  Added the INIT ComputeType.
ingo@942: 
ingo@942: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
ingo@942: 	  case for the INIT ComputeType while computing data.
ingo@942: 
ingo@941: 2011-07-18  Ingo Weinzierl <ingo@intevation.de>
ingo@941: 
ingo@941: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@941: 	  Added a method computeInit() which is called to initialize data/facets
ingo@941: 	  after an artifact has been created.
ingo@941: 
ingo@941: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Repaired
ingo@941: 	  broken XPath.
ingo@941: 
ingo@940: 2011-07-14  Ingo Weinzierl <ingo@intevation.de>
ingo@940: 
ingo@940: 	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java:
ingo@940: 	  Removed the code to generate new artifacts. Instead of creating new
ingo@940: 	  artifacts automatically, we decided to suggest creating new artifacts
ingo@940: 	  from specific types. Therefore, the DESCRIBE document of the artifacts
ingo@940: 	  is extended with a node that contains recommended artifact types.
ingo@940: 
ingo@940: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
ingo@940: 	  FLYSArtifacts might be setup with the identifier of an other
ingo@940: 	  FLYSArtifact. Subclasses are able to override a method called
ingo@940: 	  initialize(Artifact, GlobalContext). This might be helpful to extract
ingo@940: 	  required values or clone artifacts.
ingo@940: 
ingo@939: 2011-07-14  Ingo Weinzierl <ingo@intevation.de>
ingo@939: 
ingo@939: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
ingo@939: 	  Adapted the signature of createArtifactContext() - it returns an
ingo@939: 	  instance of GlobalContext now.
ingo@939: 
sascha@938: 2011-07-14  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@938: 
sascha@938: 	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java:
sascha@938: 	  Debugged the water fill algorithm. Added a lot of logging.
sascha@938: 
sascha@938: 	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
sascha@938: 	  Added a text field to give a water level to fill in.
sascha@938: 
ingo@937: 2011-07-14  Ingo Weinzierl <ingo@intevation.de>
ingo@937: 
ingo@937: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
ingo@937: 	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Moved code
ingo@937: 	  to create the output modes based on the given facets to FLYSArtifact. In
ingo@937: 	  addition, FLYSArtifact got a new method that returns a specific input
ingo@937: 	  value as string.
ingo@937: 
ingo@937: 	* src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: New.
ingo@937: 	  This hook monitors the "post-feed" and "post-advance". If the monitored
ingo@937: 	  Artifact's state has configured recommended artifacts, this hook will
ingo@937: 	  create new Artifacts.
ingo@937: 
ingo@937: 	  TODO: We have to add the UUIDs of the new Artifacts to the DESCRIBE
ingo@937: 	  document of the artifact to let the client know, that there are new
ingo@937: 	  recommended Artifacts.
ingo@937: 
ingo@937: 	* src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java: New.
ingo@937: 	  This Artifact is the base class for Artifacts, that represent static
ingo@937: 	  data. E.g. this could be a decoration theme in a chart or a background
ingo@937: 	  layer in the map.
ingo@937: 
ingo@937: 	* src/main/java/de/intevation/flys/artifacts/states/OutputState.java: New.
ingo@937: 	  This state might be used as base class for states, that doesn't require
ingo@937: 	  any user input, but only provide static Facets added by a computeFeed()
ingo@937: 	  operation. So, subclasses need to implement computeFeed() only.
ingo@937: 
sascha@936: 2011-07-13  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@936: 
sascha@936: 	* src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java:
sascha@936: 	  New. Standalone Swing-App to test cross sections from database without the
sascha@936: 	  hassles of our complete software stack. Runnable from a maven environment:
sascha@936: 
sascha@936: 	  $ mvn -e \
sascha@936: 	    -Dflys.backend.user=DB_USER \
sascha@936: 		-Dflys.backend.password=DB_PASSWD \
sascha@936: 		-Dflys.backend.url=DB_CONNECTION_URL \
sascha@936: 		-Dexec.mainClass=de.intevation.flys.artifacts.charts.CrossSectionApp \
sascha@936: 		exec:java
sascha@936: 
sascha@936: 	  You can set the river to be used with the system property 'river'.
sascha@936: 	  Defaults to 'Mosel'.
sascha@936: 
sascha@936: 	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENFacet.java:
sascha@936: 	  Removed superfluous imports.
sascha@936: 
ingo@935: 2011-07-13  Ingo Weinzierl <ingo@intevation.de>
ingo@935: 
ingo@935: 	* doc/conf/artifacts/winfo.xml: The FloodMapState has a new Outputmode
ingo@935: 	  called "floodmap" now.
ingo@935: 
ingo@935: 	* src/main/java/de/intevation/flys/artifacts/model/WSPLGENFacet.java: New.
ingo@935: 	  This facet is used to generate WSPLGEN results.
ingo@935: 
ingo@935: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added
ingo@935: 	  the WSPLGENFacet.
ingo@935: 
ingo@935: 	* src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java:
ingo@935: 	  This state will now generate WSPLGENFacets.
ingo@935: 
sascha@934: 2011-07-12  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@934: 
sascha@934: 	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java:
sascha@934: 	  Fixed corner case.
sascha@934: 
sascha@933: 2011-07-11  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@933: 
sascha@933: 	* src/main/java/de/intevation/flys/artifacts/geom/Lines.java: New.
sascha@933: 	  fillWater() generates a list of wet lines for a given profile and a
sascha@933: 	  given water level.
sascha@934: 
ingo@932: 2011-07-08  Ingo Weinzierl <ingo@intevation.de>
ingo@932: 
ingo@932: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The
ingo@932: 	  Outputs created while generating the DESCRIBE document will now have the
ingo@932: 	  'type' member set.
ingo@932: 
ingo@932: 	* src/main/java/de/intevation/flys/collections/OutputParser.java: Read the
ingo@932: 	  'type' member from DESCRIBE document.
ingo@932: 
ingo@931: 2011-07-06  Ingo Weinzierl <ingo@intevation.de>
ingo@931: 
ingo@931: 	* doc/conf/artifacts/winfo.xml: Removed a typo.
ingo@931: 
ingo@930: 2011-07-06  Ingo Weinzierl <ingo@intevation.de>
ingo@930: 
ingo@930: 	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java:
ingo@930: 	  DataFacet are now able to store the ID of the state which has created
ingo@930: 	  this Facet.
ingo@930: 
ingo@930: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
ingo@930: 	  Initialize DataFacets with the ID of this state. This is necessary to
ingo@930: 	  renew the waterlevel data if it is no longer existing in the cache.
ingo@930: 
ingo@929: 2011-07-06  Ingo Weinzierl <ingo@intevation.de>
ingo@929: 
ingo@929: 	* src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java: A
ingo@929: 	  report facet can now store the state's id and the artifact's hash value
ingo@929: 	  when it has been created.
ingo@929: 
ingo@929: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
ingo@929: 	  Initialize the ReportFacet and WaterlevelFacet with state id and hash
ingo@929: 	  information. This has been necessary to retrieve reports and waterlevels
ingo@929: 	  in states after this one - in states that we need to enter for floodmap
ingo@929: 	  parameterization.
ingo@929: 
ingo@928: 2011-07-05  Ingo Weinzierl <ingo@intevation.de>
ingo@928: 
ingo@928: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelGroundDifferences.java:
ingo@928: 	  Changed the desired UI provider.
ingo@928: 
ingo@927: 2011-07-05  Ingo Weinzierl <ingo@intevation.de>
ingo@927: 
ingo@927: 	* doc/conf/artifacts/winfo.xml: Added the option to continue the
ingo@927: 	  waterlevel parameterization with the intent to create flood maps.
ingo@927: 
ingo@927: 	* src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
ingo@927: 	  This state is no longer a final state. The user has the option to
ingo@927: 	  continue with the parameterization for flood maps based on the current
ingo@927: 	  waterlevel. Therefore, this states desires the "continue" UI provider.
ingo@927: 	  Clients should recognice this to just step to the next state or display
ingo@927: 	  a button that lets the user step to the next state manually.
ingo@927: 
ingo@927: 	* src/main/java/de/intevation/flys/artifacts/states/FloodplainChoice.java,
ingo@927: 	  src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java,
ingo@927: 	  src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java,
ingo@927: 	  src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java,
ingo@927: 	  src/main/java/de/intevation/flys/artifacts/states/ProfileDistanceSelect.java,
ingo@927: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelGroundDifferences.java:
ingo@927: 	  New. These states are used to parameterize a further calculation type:
ingo@927: 	  flood map.
ingo@927: 
ingo@927: 	* src/main/resources/messages.properties,
ingo@927: 	  src/main/resources/messages_de_DE.properties,
ingo@927: 	  src/main/resources/messages_en.properties,
ingo@927: 	  src/main/resources/messages_de.properties: Required strings for the
ingo@927: 	  flood maps states.
ingo@927: 
sascha@926: 2011-07-04  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@926: 
sascha@926: 	Fix(?) for flys/issue114
sascha@926: 
sascha@926: 	* src/main/java/de/intevation/flys/artifacts/model/WQ.java:
sascha@926: 	  Make guessing a bit more robust.
sascha@926: 
sascha@925: 2011-07-03  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@925: 
sascha@925: 	Added the math needed to calculate "W-Differenzen" in "Laengsschnitten".
sascha@925: 	Needs testing!
sascha@925: 
sascha@925: 	* src/main/java/de/intevation/flys/artifacts/model/NamedObject.java:
sascha@925: 	  Made it an interface to be usable in more than one inheritance chain.
sascha@925: 
sascha@925: 	* src/main/java/de/intevation/flys/artifacts/model/NamedObjectImpl.java:
sascha@925: 	  Implements the NamedObject interface and is the new base class of
sascha@925: 	  WQ and WKmsImpl.
sascha@925: 
sascha@925: 	* src/main/java/de/intevation/flys/artifacts/model/WKms.java:
sascha@925: 	  New. Interface to associate kms with ws.
sascha@925: 
sascha@925: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java:
sascha@925: 	  Changed the base class to NamedObjectImpl. Renamed getKms(int)
sascha@925: 	  to getKm(int) to make clear it return a single scalar value
sascha@925: 	  and fullfil the WKms interface.
sascha@925: 
sascha@925: 	* src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java:
sascha@925: 	  New. Implements the WKms interface. Intended to be a lightweight
sascha@925: 	  datastore for "zusaetzliche Laengsschnitte" and as results
sascha@925: 	  of the WKmsOperations.
sascha@925: 
sascha@925: 	* src/main/java/de/intevation/flys/artifacts/model/WQ.java:
sascha@925: 	  Changed base class to NamedObjectImpl.
sascha@925: 
sascha@925: 	* src/main/java/de/intevation/flys/artifacts/math/WKmsOperation.java:
sascha@925: 	  New. Operations on WKms data.
sascha@925: 	  Currently only the SUBTRACTION operation is implemented. This
sascha@925: 	  one is needed to calculate the "W-Differenzen". The operation
sascha@925: 	  is insensitive about the km directions of the datasets. Missing
sascha@925: 	  values are interpolated linear.
sascha@925: 
sascha@925: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
sascha@925: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
sascha@925: 	  Adjusted to satisfy the signature change of WQKMs.
sascha@925: 
ingo@924: 2011-07-01  Ingo Weinzierl <ingo@intevation.de>
ingo@924: 
ingo@924: 	* src/main/java/de/intevation/flys/exports/StyledXYSeries.java: New. This
ingo@924: 	  XYSeries stores the style information that should be used to render this
ingo@924: 	  series. These information are stored as raw XML documents. A public
ingo@924: 	  method can be used to apply those style information to a
ingo@924: 	  XYLineAndShapeRenderer.
ingo@924: 
ingo@924: 	  Note: The only two attributes currently supported by StyledXYSeries
ingo@924: 	  items are "linesize" and "linecolor".
ingo@924: 
ingo@924: 	* doc/conf/themes.xml: Added some more basic themes for the four
ingo@924: 	  calculation methods.
ingo@924: 
ingo@924: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: This
ingo@924: 	  generator now tries to apply themes for all series contained in the
ingo@924: 	  chart. If a series is no instance of StyledXYSeries, the default
ingo@924: 	  renderer is used.
ingo@924: 
ingo@924: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
ingo@924: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
ingo@924: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
ingo@924: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
ingo@924: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@924: 	  Removed the code that had been introduced to adapt renderers statically.
ingo@924: 	  Now, each of these concrete ChartGenerators instantiates StyledXYSeries
ingo@924: 	  items to put the curves into the chart. Those items contain style
ingo@924: 	  information now!
ingo@924: 
ingo@923: 2011-07-01  Ingo Weinzierl <ingo@intevation.de>
ingo@923: 
ingo@923: 	flys/issue135 (Diagramm: Trotz abgeschalteter Themen bleiben Beschriftungen bestehen)
ingo@923: 
ingo@923: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: The way
ingo@923: 	  to store datasets has changed. Until this revision, the concrete
ingo@923: 	  generators managed their own datasets. E.g. the
ingo@923: 	  DischargeLongitudinalSectionGenerator had three datasets: w, q and
ingo@923: 	  corrected w. Now, there are just two datasets, managed by this base
ingo@923: 	  generator - one dataset for the first Y axis and one dataset for the
ingo@923: 	  second Y axis. This makes it easier to remove axes, that have no data to
ingo@923: 	  be displayed. All concrete chart generators have to add their XYSeries
ingo@923: 	  using two methods: addFirstAxisSeries() and addSecondAxisSeries().
ingo@923: 
ingo@923: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
ingo@923: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
ingo@923: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
ingo@923: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
ingo@923: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@923: 	  Those concrete chart generators no longer manage datasets themself but
ingo@923: 	  they use the two methods described above, to plot the data to the first
ingo@923: 	  or second Y axis.
ingo@923: 
ingo@922: 2011-07-01  Ingo Weinzierl <ingo@intevation.de>
ingo@922: 
ingo@922: 	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java:
ingo@922: 	  Added the option to use a filter to reduce the number of items returned
ingo@922: 	  by this service.
ingo@922: 
ingo@921: 2011-06-30  Ingo Weinzierl <ingo@intevation.de>
ingo@921: 
ingo@921: 	flys/issue159 (WINFO: Radiobutton - Ortsauswahl bei "W für ungleichwertigen Abflusslängsschnitt" entfernen)
ingo@921: 
ingo@921: 	* doc/conf/artifacts/winfo.xml: Changed the kilometer range input for
ingo@921: 	  calculation 4. This calculation type requires a kilometer range. So,
ingo@921: 	  after choosing the calculation 4, the transition model leads to a state
ingo@921: 	  that just allows the input of a kilometer range with no option to
ingo@921: 	  enter locations.
ingo@921: 
ingo@921: 	* src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java:
ingo@921: 	  New. A base state for the kilometer selection for calculations. The
ingo@921: 	  target of this state is to provide facets for the duration curves.
ingo@921: 
ingo@921: 	* src/main/java/de/intevation/flys/artifacts/states/DistanceSelect.java:
ingo@921: 	  New. This state is used to enter a kilometer range. The difference to
ingo@921: 	  the LocationDistanceSelect state is, that there is no option to enter
ingo@921: 	  locations.
ingo@921: 
ingo@921: 	* src/main/java/de/intevation/flys/artifacts/states/RangeState.java:
ingo@921: 	  Improved this state to be the base state for calculation ranges.
ingo@921: 
ingo@921: 	* src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java
ingo@921: 	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java
ingo@921: 
ingo@921: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: This
ingo@921: 	  state no longer inherits from RangeState which now is used as base
ingo@921: 	  state for kilometer ranges.
ingo@921: 
ingo@921: 	* src/main/resources/messages.properties,
ingo@921: 	  src/main/resources/messages_de_DE.properties,
ingo@921: 	  src/main/resources/messages_en.properties,
ingo@921: 	  src/main/resources/messages_de.properties: Added new i18n strings for
ingo@921: 	  the DistanceSelect state.
ingo@921: 
sascha@920: 2011-06-28  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@920: 
sascha@920: 	* pom.xml: Downgraded Trove to 1.1-beta-5, because the new
sascha@920: 	  later ones are removed from the maven repos.
sascha@920: 
sascha@925: 	  The functionality we need is in 1.1 so this downgrade should
sascha@920: 	  cause no problems.
sascha@920: 
sascha@920: 	  Would be nice if we would support the maintainers of trove to 
sascha@920: 	  bring there new versions back into the main maven repos.
sascha@920: 
ingo@919: 2011-06-28  Ingo Weinzierl <ingo@intevation.de>
ingo@919: 
ingo@919: 	* pom.xml: Repaired the JBoss repository which place has changed.
ingo@919: 
ingo@918: 2011-06-28  Ingo Weinzierl <ingo@intevation.de>
ingo@918: 
ingo@918: 	Tagged RELEASE 2.4
ingo@918: 
ingo@749: 2011-06-27  Ingo Weinzierl <ingo@intevation.de>
ingo@749: 
ingo@749: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
ingo@749: 	  src/main/java/de/intevation/flys/exports/WstWriter.java:
ingo@749: 	  Append the corrected W column (if existing) to the WST export.
ingo@749: 
sascha@748: 2011-06-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@748: 
sascha@748: 	* src/main/java/de/intevation/flys/artifacts/model/WQ.java:
sascha@748: 	  Guessing increaing w is not based on direct neighbors any more.
sascha@748: 	  The second to be compared with is choosen by random of
sascha@748: 	  the values before the first one. This makes the guessing
sascha@748: 	  more robust against 'plateaus' of equal w values.
sascha@748: 
sascha@747: 2011-06-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@747: 
sascha@747: 	* src/main/java/de/intevation/flys/exports/ATWriter.java: Array
sascha@747: 	  for constructing the spline was too large leading to non-increasing
sascha@747: 	  values.
sascha@747: 
sascha@745: 2011-06-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@745: 
sascha@745: 	Fix for flys/issue150
sascha@745: 
sascha@745: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
sascha@745: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
sascha@745: 	  Invert the x axis if its guessed that water is increasing.
sascha@745: 
sascha@744: 2011-06-27  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@744: 
sascha@744: 	* src/main/java/de/intevation/flys/artifacts/model/WQ.java(guessWaterIncreasing):
sascha@744: 	  Added a method to guess based on a given factor of the size (default 0.05)
sascha@744: 	  if the water levels are increasing. Needed to determine in which direction
sascha@744: 	  the water level curve should be orientated. Based on random to avoid
sascha@744: 	  running over large dataset each time a diagram is generated.
sascha@744: 
ingo@743: 2011-06-27  Ingo Weinzierl <ingo@intevation.de>
ingo@743: 
ingo@743: 	  flys/issue177 (WINFO: Abflusskurven am Pegel verursachen ein Hängen des Servers)
ingo@743: 
ingo@743: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
ingo@743: 	  Commented out code to generate time ranges for series names. There
ingo@743: 	  seems to be a problem while loading the discharge tables of a gauge or
ingo@743: 	  while determining the start and/or end time of such discharge tables.
ingo@743: 
sascha@742: 2011-06-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@742: 
sascha@742: 	* src/main/java/de/intevation/flys/**/*.java: Removed trailing whitespace.
sascha@742: 
sascha@741: 2011-06-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@741: 
sascha@741: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@741: 	  Removed dead code.
sascha@741: 
sascha@739: 2011-06-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@739: 
sascha@740: 	Fix for flys/issue173
sascha@740: 
sascha@739: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
sascha@739: 	  Fixed the way the gauge was found for a given interval.
sascha@739: 	  The old way does not work because it was just tested if
sascha@739: 	  the station point was inside the segments which is not
sascha@739: 	  necessarily true. The obvious solution to simply check
sascha@739: 	  the overlapping intervals does not work either because
sascha@741: 	  the gauge ranges touch each other and so more than
sascha@739: 	  one gauge are returned in these cases. The River.maxOverlap()
sascha@739: 	  is now used to find the gauge with the max overlapping
sascha@739: 	  range.
sascha@739: 
sascha@738: 2011-06-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@738: 
sascha@738: 	Fix for flys/issue147
sascha@738: 
sascha@738: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation1.java:
sascha@738: 	  Removed the 'kmUp' flag. It was an left over from former
sascha@738: 	  WSP calculations (w/o ref km) leading to wrong results now.
sascha@738: 
sascha@738: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@738: 	  Don't pass the kmUp flag to the calculation.
sascha@738: 
sascha@738: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@738: 	  Added debug output to see the value of 'wq_free'.
sascha@738: 
sascha@737: 2011-06-26  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@737: 
sascha@737: 	Fix for flys/issue86
sascha@737: 
sascha@737: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@737: 	  The reference gauge for calculations "am Pegel" was determined
sascha@737: 	  wrong.
sascha@737: 	  
sascha@735: 2011-06-25  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@735: 
sascha@735: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
sascha@735: 	  Conversion w->q was broken. This should fix a number of issues
sascha@735: 	  around "W am Pegel" calculations.
sascha@735: 
sascha@735: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@735: 	  Issue an error report if a w->q conversion fails.
sascha@735: 
sascha@735: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@735: 	  The gauge to convert w->q with its discharge table was determined wrong.
sascha@735: 
ingo@734: 2011-06-24  Ingo Weinzierl <ingo@intevation.de>
ingo@734: 
ingo@734: 	  flys/issue174 (Diagramm: Q-Linie wird bei initialem Laden des Diagramms
ingo@734: 	  anders dargestellt als bei Ansicht auf gesamten Wertebereich)
ingo@734: 
ingo@734: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@734: 	  The chart will now have upper margins again.
ingo@734: 
ingo@733: 2011-06-24  Ingo Weinzierl <ingo@intevation.de>
ingo@733: 
ingo@733: 	  flys/issue172 (Diagramm: Ursprung der Diagramme bei Dauerzahlen)
ingo@733: 
ingo@733: 	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
ingo@733: 	  Charts of this type will have the lower X value set to "0".
ingo@733: 
sascha@732: 2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@732: 
sascha@732: 	* src/main/java/de/intevation/flys/exports/ATWriter.java:
sascha@732: 	  Results are now in cm. Made it more robust against corner cases.
sascha@732: 
sascha@732: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
sascha@732: 	  Removed superfluous import.
sascha@732: 
sascha@731: 2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@731: 
sascha@731: 	* doc/conf/artifacts/winfo.xml, doc/conf/conf.xml:
sascha@731: 	  Added facet config for AT exports.
sascha@731: 
sascha@731: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
sascha@731: 	  Added 'at' facet type.
sascha@731: 
sascha@731: 	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java:
sascha@731: 	  Generate AT facets.
sascha@731: 	
sascha@730: 2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@730: 
sascha@730: 	* src/main/java/de/intevation/flys/exports/ATExporter.java: New.
sascha@730: 	  Exporter for AT facets. Needs testing.
sascha@730: 
sascha@729: 2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@729: 
sascha@729: 	* src/main/java/de/intevation/flys/exports/ATWriter.java: New.
sascha@729: 	  Writer for AT files. New code because our data model differs
sascha@729: 	  from Desktop-FLYS. Needs testing.
sascha@729: 
ingo@728: 2011-06-23  Ingo Weinzierl <ingo@intevation.de>
ingo@728: 
ingo@728: 	  flys/issue157 (Diagramm: Ursprung berechnete Abflusskurve)
ingo@728: 
ingo@728: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
ingo@728: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
ingo@728: 	  Moved the method that adjusts the X-axis to include the "0" value from
ingo@728: 	  ComputedDischargeCurveGenerator to DischargeCurveGenerator. Now, both
ingo@728: 	  charts will include the "0" on the X-axis.
ingo@728: 
sascha@727: 2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@727: 
sascha@727: 	* src/main/java/de/intevation/flys/artifacts/model/WQDay.java:
sascha@727: 	  Based on WQ now to make it exportable as AT.
sascha@727: 
sascha@726: 2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@726: 
sascha@726: 	* src/main/java/de/intevation/flys/artifacts/model/WQ.java:
sascha@726: 	  New. Base class for WQKms.
sascha@726: 
sascha@726: 	  TODO 1: make it a base class for WQDay, too,
sascha@726: 	  TODO 2: Generate instances of WQ instead of WQKms in "Abflusskurven"
sascha@726: 	          calculations. This will save memory.
sascha@726: 
sascha@726: 	  AT exporter will get instances of this class as data model
sascha@726: 
sascha@726: 	* src/main/java/de/intevation/flys/artifacts/model/NamedObject.java:
sascha@726: 	  Add default constructor to ease inheritance.
sascha@726: 
sascha@726: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java:
sascha@726: 	  Based on WQ now. Removed code allready defined in base class.
sascha@726: 
sascha@726: 2011-06-23  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@725: 
sascha@725: 	* doc/conf/artifacts/winfo.xml: Add TODOs for error reports
sascha@725: 	  of "Abflusskurven am Pegel". Maybe we don't need them?
sascha@725: 
sascha@725: 	* doc/conf/conf.xml: Configure report for each calculated output type.
sascha@725: 
ingo@724: 2011-06-22  Ingo Weinzierl <ingo@intevation.de>
ingo@724: 
ingo@724: 	  flys/issue164 (Berechnung 4: Umgekehrtes Berechnungsintervall führt zur)
ingo@724: 
ingo@724: 	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
ingo@724: 	  Create the items with range information for W and Q which allows the
ingo@724: 	  client to validate the user inserted values.
ingo@724: 
sascha@723: 2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@723: 
sascha@723: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@723: 	  Arguments in filling datastructure were flip. Now
sascha@723: 	  the "Abflusskurve am Pegel" looks correct again.
sascha@723: 
sascha@723: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
sascha@723: 	  Removed superfluous imports.
sascha@723: 
sascha@722: 2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@722: 
sascha@722: 	Improved situtation on rendering "Abflusskurve am Pegel". Not
sascha@722: 	fully working, yet.
sascha@722: 
sascha@722: 	* doc/conf/artifacts/winfo.xml: Generate facets for the location path, too.
sascha@722: 
sascha@722: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Misspelled
sascha@722: 	  the facet which prevented the facets from being to the outputs.
sascha@722: 
sascha@722: 	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java:
sascha@722: 	  Extended to store the hash and the state id of the producing artifact/state
sascha@722: 	  else it results in NPEs because the data is calculated on later (wrong) states.
sascha@722: 
sascha@722: 	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
sascha@722: 	  Store the state id and the hash in the facet, too.
sascha@722: 
sascha@722: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Add two
sascha@722: 	  method to do calculations for a state the artifact is currently not in
sascha@722: 	  and fetching the current state id.
sascha@722: 
sascha@721: 2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@721: 
sascha@721: 	* doc/conf/artifacts/winfo.xml: Generate facets for "Abflusskurven am Pegel"
sascha@721: 	  Not working by now. :-/
sascha@721: 
sascha@721: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: New facet type
sascha@721: 	  for "Abflusskurven am Pegel"
sascha@721: 
sascha@721: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Do calculation
sascha@721: 	  in the artifact not in the output generator.
sascha@721: 
sascha@721: 	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
sascha@721: 	  Generate the new facets.
sascha@721: 
sascha@721: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
sascha@721: 	  Fetch data from facet.
sascha@721: 
ingo@720: 2011-06-22  Ingo Weinzierl <ingo@intevation.de>
ingo@720: 
ingo@720: 	  flys/issue161 (Diagramm: Q-Achse in W-Längsschnitten immer bei Q=0)
ingo@720: 
ingo@720: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@720: 	  The Q axis (which is the second y axis) initially contains the 0 value.
ingo@720: 	  After a zoom action has taken place, this behaviour is no longer
ingo@720: 	  supported.
ingo@720: 
sascha@719: 2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@719: 
sascha@721: 	Draw correction curve again.
sascha@719: 
sascha@719: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java:
sascha@719: 	  Use correction curve to map plot to axes. Not doing so prevented
sascha@719: 	  the correction curve from being drawn!
sascha@719: 	  Smaller code cleanups and simplifications.
sascha@719: 
sascha@719: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java,
sascha@719: 	  src/main/java/de/intevation/flys/artifacts/model/WQCKms.java:
sascha@719: 	  Added methods to directly access the components w, q and c
sascha@719: 	  at a given index.
sascha@719: 
sascha@719: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java:
sascha@719: 	  Attribute access via DOM instead of XPath.
sascha@719: 
sascha@719: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
sascha@719: 	  Code simplification.
sascha@719: 
ingo@718: 2011-06-21  Ingo Weinzierl <ingo@intevation.de>
ingo@718: 
ingo@718: 	  flys/issue157 (Diagramm: Ursprung berechnete Abflusskurve)
ingo@718: 
ingo@718: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Splitted
ingo@718: 	  up zooming for x and y axes to be able to override specific axis
ingo@718: 	  zoom behaviour.
ingo@718: 
ingo@718: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
ingo@718: 	  The lower bound of the x axis (which is the Q axis in such chart) is
ingo@718: 	  always 0.
ingo@718: 
ingo@717: 2011-06-21  Ingo Weinzierl <ingo@intevation.de>
ingo@717: 
ingo@717: 	  flys/issue90 (Diagramm: Trennung derDiagrammfläche und Achsenaufheben)
ingo@717: 
ingo@717: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@717: 	  Added a margin between chart data and chart axes.
ingo@717: 
sascha@716: 2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@716: 
sascha@716: 	Fix for flys/issue158
sascha@716: 
sascha@716: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java:
sascha@716: 	  Checks for right class now.
sascha@716: 	
sascha@715: 2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@715: 
sascha@715: 	Fix for flys/issue154
sascha@715: 
sascha@715: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java:
sascha@715: 	  Checks for right class now.
sascha@715: 
sascha@714: 2011-06-21  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@714: 
sascha@714: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@714: 	  Only generate 'outs' if they have facets.
sascha@714: 
sascha@714: 	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java:
sascha@714: 	  'boolean ? true : false' <=> 'boolean'
sascha@714: 
ingo@713: 2011-06-21  Ingo Weinzierl <ingo@intevation.de>
ingo@713: 
ingo@713: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@713: 	  Added the time-to-live to the DESCRIBE document.
ingo@713: 
sascha@712: 2011-06-20  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@712: 
sascha@712: 	* doc/conf/artifacts/winfo.xml: Configured states to generate report facets.
sascha@712: 
sascha@711: 2011-06-20  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@711: 
sascha@711: 	* src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java:
sascha@711: 	  Return the report.
sascha@711: 
sascha@711: 	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
sascha@711: 	  src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
sascha@711: 	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
sascha@711: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java:
sascha@711: 	  Generate report facets if there are problems with the calculations.
sascha@711: 	  TODO: Adjust winfo.xml to configure the facets.
sascha@711: 
sascha@710: 2011-06-20  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@710: 
sascha@710: 	* src/main/java/de/intevation/flys/exports/ReportGenerator.java:
sascha@710: 	  New. Generator for calculation reports.
sascha@710: 
sascha@710: 	* doc/conf/conf.xml: Added ReportGenerator.
sascha@710: 
sascha@710: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
sascha@710: 	  Added type 'report'.
sascha@710: 
sascha@710: 	* src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java:
sascha@710: 	  Specialized facet for serving reports. TODO: Added them to the
sascha@710: 	  calculation states.
sascha@710: 
sascha@710: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation.java:
sascha@710: 	  Looped through CallMeta for i18n purposes. TODO: do i18n
sascha@710: 
sascha@710: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@710: 	  Removed superfluous import.
sascha@710: 
sascha@710: 	* src/main/java/de/intevation/flys/exports/AbstractExporter.java:
sascha@710: 	  Added some override annotations.
sascha@710: 
sascha@709: 2011-06-20  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@709: 
sascha@709: 	* src/main/java/de/intevation/flys/artifacts/model/CalculationResult.java:
sascha@709: 	  New. Used to transport the data and the error report.
sascha@709: 
sascha@709: 	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
sascha@709: 	  src/main/java/de/intevation/flys/artifacts/model/Calculation1.java,
sascha@709: 	  src/main/java/de/intevation/flys/artifacts/model/Calculation2.java,
sascha@709: 	  src/main/java/de/intevation/flys/artifacts/model/Calculation3.java,
sascha@709: 	  src/main/java/de/intevation/flys/artifacts/model/Calculation4.java,
sascha@709: 	  src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java,
sascha@709: 	  src/main/java/de/intevation/flys/artifacts/model/Calculation.java,
sascha@709: 	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
sascha@709: 	  src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
sascha@709: 	  src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
sascha@709: 	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
sascha@709: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java,
sascha@709: 	  src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
sascha@709: 	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java:
sascha@709: 	  Use the CalculationResult now.
sascha@709: 
sascha@708: 2011-06-18  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@708: 
sascha@708: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation1.java:
sascha@708: 	  Allow an explicit reference km to enable calculation "am Pegel".
sascha@708: 
sascha@708: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@708: 	  If a calculation "am Pegel" is done, take start km of the
sascha@708: 	  calculation range and find the gauge in which range it is located.
sascha@708: 	  Take the station of the gauge as the reference km. If no gauge
sascha@708: 	  is found the calcualtion falls back to calculation "auf freier Strecke".
sascha@708: 
sascha@708: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@708: 	  Replaced another inefficient attribute extraction via XPath
sascha@708: 	  with direct DOM access.
sascha@708: 
sascha@706: 2011-06-18  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@706: 
sascha@706: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
sascha@706: 	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java,
sascha@706: 	  src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
sascha@706: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
sascha@706: 	  Removed dead code.
sascha@706: 
sascha@705: 2011-06-18  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@705: 
sascha@705: 	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java
sascha@705: 	  src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java,
sascha@705: 	  src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java,
sascha@705: 	  src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
sascha@705: 	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
sascha@705: 	  src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
sascha@705: 	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
sascha@705: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java,
sascha@705: 	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@705: 	  Only generate facets when needed.
sascha@705: 
sascha@705: 	* src/main/java/de/intevation/flys/collections/OutputParser.java:
sascha@705: 	  Removed more XPath for simply accessing attributes of an element.
sascha@705: 
sascha@705: 	* doc/conf/cache.xml: 200 elements in memory for "computed.values" are enough,
sascha@705: 	  LRU as eviction strategy is sufficent.
sascha@705: 
sascha@705: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java,
sascha@705: 	  src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Use
sascha@705: 	  more 'standard' Java naming conventions.
sascha@705: 
sascha@704: 2011-06-17  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@704: 
sascha@704: 	Merged in the facet-slt branch to bring in the 'facet' feature.
sascha@704: 
sascha@704: 	* doc/conf/artifacts/winfo.xml: Fixed some facets.
sascha@704: 
sascha@704: 	* doc/conf/cache.xml: Added a "computed.values" cache to store the
sascha@704: 	  results of the WINFO calculations.
sascha@704: 
sascha@704: 	* src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java:
sascha@704: 	  Add support for index per facet to make them unique and identifiable.
sascha@704: 
sascha@704: 	* src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java:
sascha@704: 	  New. Inteface to be used to access the facet names of the configuration.
sascha@704: 
sascha@704: 	* src/main/java/de/intevation/flys/artifacts/model/DataFacet.java: New.
sascha@704: 	  A facet to be used to have raw access to the computed data of an artifact.
sascha@704: 	  Useful to export things like CSV and WST.
sascha@704: 
sascha@704: 	* src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: New.
sascha@704: 	  Specialized facet to access the water level data stored in WQKms arrays.
sascha@704: 
sascha@704: 	* src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java: New.
sascha@704: 	  Specialized facet to access the duration data stored in WQDay data structures.
sascha@704: 	  
sascha@704: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Facets are
sascha@704: 	  now generated dynamically from the current available ones stored with
sascha@704: 	  the artifact.
sascha@704: 
sascha@704: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: Added
sascha@704: 	  methods computeAdvance() and computeFeed() called if artifact is fed or
sascha@704: 	  adance. This overwritten in subclasses to do the state depending calculations.
sascha@704: 
sascha@704: 	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
sascha@704: 	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
sascha@704: 	  src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
sascha@704: 	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
sascha@704: 	  src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: These
sascha@704: 	  states overwrites the computeAdvance() and computeFeed() methods to do
sascha@704: 	  the corresponding WINFO calculations.
sascha@704: 
sascha@704: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Calls 
sascha@704: 	  computeAdvance() and computeFeed() if artifact is fed or advanced. Centralized
sascha@704: 	  the caching mechanism.
sascha@704: 
sascha@704: 	* src/main/java/de/intevation/flys/exports/AbstractExporter.java,
sascha@704: 	  src/main/java/de/intevation/flys/collections/AttributeParser.java,
sascha@704: 	  src/main/java/de/intevation/flys/collections/OutputParser.java,
sascha@704: 	  src/main/java/de/intevation/flys/collections/AttributeWriter.java,
sascha@704: 	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
sascha@704: 	  Adjusted the code to cope with the indices of the facets. Used
sascha@704: 	  DOM to access the attributes instead of XPath. Removed smaller bugs
sascha@704: 	  concerning position generation.
sascha@704: 
sascha@704: 	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java,
sascha@704: 	  src/main/java/de/intevation/flys/exports/ChartGenerator.java,
sascha@704: 	  src/main/java/de/intevation/flys/exports/OutGenerator.java:
sascha@704: 	  Forwarded facet references.
sascha@704: 
sascha@704: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java,
sascha@704: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
sascha@704: 	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
sascha@704: 	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java,
sascha@704: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java,
sascha@704: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
sascha@704: 	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
sascha@704: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
sascha@704: 	  src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
sascha@704: 	  Uses facets to fetch data and generate output now.
sascha@704: 
ingo@685: 2011-06-17  Ingo Weinzierl <ingo@intevation.de>
ingo@685: 
ingo@685: 	* doc/conf/artifacts/winfo.xml: Added a new parameter "wq_free" that
ingo@685: 	  determines the mode of calculation 1. If it is "false" (default),
ingo@685: 	  the calculation should be bound to a gauge.
ingo@685: 
ingo@685: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
ingo@685: 	  method to retrieve the information about the "wq_free" parameter.
ingo@685: 
ingo@684: 2011-06-17  Ingo Weinzierl <ingo@intevation.de>
ingo@684: 
ingo@684: 	* doc/conf/artifacts/winfo.xml: Added a facet for corrected W in
ingo@684: 	  computation 4.
ingo@684: 
ingo@686: 2011-06-14  Sascha L. Teichmann <sascha.teichmann@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java:
ingo@686: 	  Got rid of namespace in result document.
ingo@686: 
ingo@686: 2011-06-14  Ingo Weinzierl <ingo@intevation.de>
ingo@686: 
ingo@686: 	  flys/issue77 (Diagramm: Beschriftung der Kurven bei Dauerlinien)
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
ingo@686: 	  Give the curves in the chart names.
ingo@686: 
ingo@686: 	* src/main/resources/messages.properties,
ingo@686: 	  src/main/resources/messages_de_DE.properties,
ingo@686: 	  src/main/resources/messages_en.properties,
ingo@686: 	  src/main/resources/messages_de.properties: Added titles for duration
ingo@686: 	  chart curves.
ingo@686: 
ingo@686: 2011-06-14  Sascha L. Teichmann <sascha.teichmann@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java:
ingo@686: 	  Write top 'Oberkante' and bottom 'Unterkante' to out going XML
ingo@686: 	  if they exist.
ingo@686: 
ingo@686: 2011-06-14  Ingo Weinzierl <ingo@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
ingo@686: 	  Write the min/max W/Q ranges as art:range elements into the DESCRIBE.
ingo@686: 
ingo@686: 2011-06-14  Ingo Weinzierl <ingo@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java:
ingo@686: 	  This state that is used to retrieve locations will now write the
ingo@686: 	  kilometer range of the selected river into the DESCRIBE document.
ingo@686: 
ingo@686: 2011-06-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation1.java:
ingo@686: 	  New. Factored out version of "Wasserspiegellage" calculation.
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java:
ingo@686: 
ingo@686: 	  Removed some dead code.
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/WQCKms.java:
ingo@686: 	  Added Override annotation and used quick access method.
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
ingo@686: 	  Looped through error reporting use by interpolate.
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
ingo@686: 	  Used factored out version of calculation 1. Removed dead code.
ingo@686: 
ingo@686: 2011-06-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation2.java:
ingo@686: 	  New. Factored out version of "Abflusskurve".
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
ingo@686: 	  Loop errors through w/q at km interpolation.
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
ingo@686: 	  Use factored out version of calculation 2.
ingo@686: 
ingo@686: 2011-06-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation3.java:
ingo@686: 	  New. Factored out version of "Dauerzahlen".
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
ingo@686: 	  Loop errors through for q->w interpolations.
ingo@686: 	  
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/WQDay.java:
ingo@686: 	  Added constructor to directly create with calculated results.
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation.java:
ingo@686: 	  Added method to return the number of problems.
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
ingo@686: 	  Use factored out version of calculation 3.
ingo@686: 
ingo@686: 2011-06-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java,
ingo@686: 	  src/main/java/de/intevation/flys/artifacts/model/WQCKms.java,
ingo@686: 	  src/main/java/de/intevation/flys/artifacts/model/WQDay.java:
ingo@686: 	  Added methods to remove NaN values.
ingo@686: 
ingo@686: 2011-06-10  Sascha L. Teichmann <sascha.teichmann@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation.java:
ingo@686: 	  New. Base class for calculations. Used to collect problems occuring
ingo@686: 	  during calculation.
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
ingo@686: 	  Extends Calculation now. Looped through the problem reports to
ingo@686: 	  base class.
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
ingo@686: 	  Looped through the problem reports.
ingo@686: 
ingo@686: 2011-06-09  Ingo Weinzierl <ingo@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java:
ingo@686: 	  Append the min/max range and a transformation matrix for each axis.
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
ingo@686: 	  Instantiate the InfoGeneratorHelper with a XYChartGenerator instance.
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@686: 	  Changed the zoom operation. The zoom values defined in the chart request
ingo@686: 	  document are no longer absolute values for a specific axis. Those values
ingo@686: 	  represent percental values for the start and end point of x and y axes.
ingo@686: 	  E.g. a chart has three axes with the following ranges:
ingo@686: 	    - x axis  :  0 - 10
ingo@686: 	    - y axis 1: 20 - 40
ingo@686: 	    - y axis 2: 40 - 90
ingo@686: 	    - zoom values for x: 0.1 - 0.9 (10% - 90%)
ingo@686: 	    - zoom values for y: 0.2 - 0.8 (20% - 80%)
ingo@686: 	  The produced chart will have the following ranges:
ingo@686: 	    - x axis  :  1 - 9
ingo@686: 		- y axis 1: 24 - 36
ingo@686: 		  y axis 2: 50 - 80
ingo@686: 
ingo@686: 2011-06-09  Ingo Weinzierl <ingo@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
ingo@686: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
ingo@686: 	  Map datasets to axes correctly.
ingo@686: 
ingo@686: 2011-06-08  Sascha L. Teichmann <sascha.teichmann@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
ingo@686: 	  Determine the gauges by their station positions. This hopfully
ingo@686: 	  fixes the problem with wrong assigned gauges and invalid segments.
ingo@686: 
ingo@686: 2011-06-08  Sascha L. Teichmann <sascha.teichmann@intevation.de>
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/model/Segment.java,
ingo@686: 	  src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
ingo@686: 	  Added more debug output.
ingo@686: 
ingo@686: 2011-06-08  Ingo Weinzierl <ingo@intevation.de>
ingo@686: 
ingo@686: 	  flys/issue103 PART 1 (WINFO: Wasserspiegellagenberechnung / Layout-Inkonsistenz)
ingo@686: 
ingo@686: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@686: 	  Selected values are formatted with the current locale. The static part
ingo@686: 	  of the DESCRIBE document will now contain i18n formatted numbers.
ingo@686: 
ingo@686: 2011-06-08  Ingo Weinzierl <ingo@intevation.de>
ingo@686: 
ingo@686: 	  flys/issue93 (WINFO: Benennung der Berechnungsart korrigieren)
ingo@686: 
ingo@686: 	* src/main/resources/messages_de_DE.properties,
ingo@686: 	  src/main/resources/messages_de.properties: Changed the name of
ingo@686: 	  calculation 4.
ingo@686: 
ingo@667: 2011-06-08  Ingo Weinzierl <ingo@intevation.de>
ingo@667: 
ingo@667: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@667: 	  Made the range determination more robust against NaN values.
ingo@667: 
ingo@666: 2011-06-08  Ingo Weinzierl <ingo@intevation.de>
ingo@666: 
ingo@666: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@666: 	  The second y axis is set to position "1". It was set to "2" before, but
ingo@666: 	  in that case, there was no position "1".
ingo@666: 
sascha@664: 2011-06-08  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@664: 
sascha@664: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
sascha@664: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
sascha@664: 	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java,
sascha@664: 	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
sascha@664: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
sascha@665: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java,
sascha@665: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
sascha@665: 	  s@m³/s@m\\u00b3/s@
sascha@664: 
sascha@663: 2011-06-08  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@663: 
sascha@663: 	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java:
sascha@663: 	  Only generate an axis element if a axis really exists.
sascha@663: 
sascha@662: 2011-06-07  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@662: 
sascha@662: 	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
sascha@662: 	  Simpified array swapping.
sascha@662: 
sascha@660: 2011-06-07  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@660: 
sascha@661: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
sascha@661: 	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@661: 	  Use java.util.List instead of java.util.Vector
sascha@661: 
sascha@661: 	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
sascha@661: 	  src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
sascha@661: 	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
sascha@661: 	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@661: 	  Removed superfluous imports.
sascha@661: 
sascha@661: 2011-06-07  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@660: 
sascha@660: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
sascha@660: 	  createItem() is not abstract any longer to avoid code repetitionin sub classes.
sascha@660: 
sascha@661: 	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java,
sascha@661: 	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
sascha@661: 	  src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java,
sascha@661: 	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java,
sascha@661: 	  src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java,
sascha@661: 	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
sascha@661: 	  src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java,
sascha@661: 	  src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
sascha@661: 	  Removed duplicated code, inserted default constructors and Override annotations.
sascha@660: 
ingo@659: 2011-06-07  Ingo Weinzierl <ingo@intevation.de>
ingo@659: 
ingo@659: 	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java:
ingo@659: 	  Append axes range information to the info document.
ingo@659: 
sascha@660: 2011-06-07  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@658: 
sascha@658: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@658: 	  If feed() fails do not store invalid values in database.
sascha@658: 
sascha@657: 2011-06-06  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@657: 
sascha@657: 	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java:
sascha@657: 	  Removed asymmetrical "- 1" from width calculation.
sascha@657: 
sascha@656: 2011-06-05  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@656: 
sascha@656: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
sascha@656: 	  Fixed problem when more than one value per segment are given.
sascha@656: 
sascha@655: 2011-06-05  Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@655: 
sascha@655: 	Refactored version of "Berechnung 4"
sascha@655: 
sascha@655: 	* src/main/java/de/intevation/flys/artifacts/model/Segment.java:
sascha@655: 	  Added instance fields for a reference point (= location of gauge)
sascha@655: 	  and backup of values (needed for naming).
sascha@655: 
sascha@655: 	* src/main/java/de/intevation/flys/artifacts/model/WQCKms.java:
sascha@655: 	  Added a constructor to be created from a WQKms. This is helpful
sascha@655: 	  if a WQKms is replaced by a back jump correction.
sascha@655: 
sascha@655: 	* src/main/java/de/intevation/flys/artifacts/model/Calculation4.java:
sascha@655: 	  New. Outfactored version of "W bei ungleichmaessigen Abflusslaengsschnitt".
sascha@655: 	  Much cleaner now and it should have a better handling of the corner
sascha@655: 	  cases.
sascha@655: 
sascha@655: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@655: 	  Removed the linear interpolation stuff. It is now in Linear. Removed
sascha@655: 	  the LinearRemap interpolation method because it is not needed any
sascha@655: 	  longer. Added a method to interpolate a given km with a given
sascha@655: 	  function.
sascha@655: 
sascha@655: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@655: 	  Removed the old calc 4 and used the new one.
sascha@655: 
sascha@655: 	* src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java:
sascha@655: 	  Deleted. Not needed any longer.
sascha@655: 
sascha@655: 	* src/main/java/de/intevation/flys/artifacts/math/Function.java:
sascha@655: 	  New. Interface for a uni-variate real function.
sascha@655: 
sascha@655: 	* src/main/java/de/intevation/flys/artifacts/math/Identity.java:
sascha@655: 	  New. Implements Function with f(x) = x
sascha@655: 
sascha@655: 	* src/main/java/de/intevation/flys/artifacts/math/Linear.java:
sascha@655: 	  New. Implements Function with f(x) = m*x + b
sascha@655: 
sascha@655: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@655: 	  Factored some stuff out to DoubleUtil. Removed some dead code.
sascha@655: 	  Does some rounding correct.
sascha@655: 
sascha@655: 	* src/main/java/de/intevation/flys/utils/DoubleUtil.java: New.
sascha@655: 	  Centralized utils surrounding common double operations.
sascha@655: 
sascha@655: 	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
sascha@655: 	  Removed superfluous imports.
sascha@655: 
ingo@654: 2011-06-03  Ingo Weinzierl <ingo@intevation.de>
ingo@654: 
ingo@654: 	  flys/issue90(Diagramm: Trennung der Diagrammfläche und Achsen aufheben)
ingo@654: 
ingo@654: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@654: 	  Determine the ranges of x and y axes. If no zoom ranges are given, we
ingo@654: 	  will determine the min and max xy values in the dataset manually,
ingo@654: 	  because JFreeCharts adds a margin to the left and right of the data
ingo@654: 	  area automatically..
ingo@654: 
ingo@653: 2011-06-03  Ingo Weinzierl <ingo@intevation.de>
ingo@653: 
ingo@653: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Moved
ingo@653: 	  the chart creation into an own public method. This lets the
ingo@653: 	  ChartInfoGenerator create charts without duplicating code.
ingo@653: 
ingo@653: 	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java:
ingo@653: 	  Limited the possible class for generators to XYChartGenerator. This
ingo@653: 	  enables the ChartInfoGenerator class to do the whole chart creation
ingo@653: 	  stuff itself without outsourcing the code to concrete subclasses.
ingo@653: 
ingo@653: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionInfoGenerator.java,
ingo@653: 	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionInfoGenerator.java,
ingo@653: 	  src/main/java/de/intevation/flys/exports/DurationCurveInfoGenerator.java,
ingo@653: 	  src/main/java/de/intevation/flys/exports/DischargeCurveInfoGenerator.java,
ingo@653: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveInfoGenerator.java:
ingo@653: 	  Removed the code to generate charts - this is done in ChartInfoGenerator
ingo@653: 	  now.
ingo@653: 
ingo@652: 2011-06-03  Ingo Weinzierl <ingo@intevation.de>
ingo@652: 
ingo@652: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added new
ingo@652: 	  methods to extract the x and y ranges from request document.
ingo@652: 
ingo@652: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added a
ingo@652: 	  method that zooms the chart to the specified x and y ranges.
ingo@652: 
sascha@651: 2011-06-02	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@651: 
sascha@651: 	* doc/conf/conf.xml: Set collection ttl to 6 hours.
sascha@651: 
sascha@650: 2011-06-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@650: 
sascha@650: 	* src/main/java/de/intevation/flys/artifacts/model/Segment.java:
sascha@650: 	  New. Parse segments only once.
sascha@650: 
sascha@650: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@650: 	  Expose new parser to artifacts. TODO: Use it.
sascha@650: 
sascha@649: 2011-06-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@649: 
sascha@649: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@649: 	  Changed interpolation methods to interpolate to an arbitrary position
sascha@649: 	  in a given double result array as a preparation for segment independent
sascha@649: 	  calculation.
sascha@649: 
sascha@649: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
sascha@649: 	  Removed superfluous import.
sascha@649: 
sascha@649: 	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
sascha@649: 	  Fixed cause for crashing: Run back too far in some siutations.
sascha@649: 
sascha@649: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@649: 	  Refactored range code a bit. Needs more work.
sascha@649: 
ingo@648: 2011-06-01  Ingo Weinzierl <ingo@intevation.de>
ingo@648: 
ingo@648: 	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java:
ingo@648: 	  Interchange the lower and upper x value of the chart if the x-axis is
ingo@648: 	  inverted before the matrix values are computed. Now, the matrix is able
ingo@648: 	  to work with charts that have an inverted x-axis.
ingo@648: 
ingo@647: 2011-06-01  Ingo Weinzierl <ingo@intevation.de>
ingo@647: 
ingo@647: 	* src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: New. A
ingo@647: 	  chart info generator generates a document that contains meta information
ingo@647: 	  for a specific chart. Concrete instances of this abstract class need to
ingo@647: 	  instantiate concrete ChartGenerators and dispatch nearly all methods of
ingo@647: 	  an OutGenerator (init(), doOut(), setMaster()) to this instance. The
ingo@647: 	  generate() method is implemented in the ChartInfoGenerator itself. It
ingo@647: 	  creates a chart with help of the ChartGenerator instance and builds a
ingo@647: 	  document that contains meta information of this chart.
ingo@647: 
ingo@647: 	* src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: New.
ingo@647: 	  This helper is used to create the chart info document. At the moment,
ingo@647: 	  the only information that is included in this document is a
ingo@647: 	  transformation matrix to transform image coordinates into chart
ingo@647: 	  coordinates.
ingo@647: 
ingo@647: 	  NOTE: The transformation matrix creation needs some work to support
ingo@647: 	  charts with inverted X axis.
ingo@647: 
ingo@647: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionInfoGenerator.java,
ingo@647: 	  src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionInfoGenerator.java,
ingo@647: 	  src/main/java/de/intevation/flys/exports/DurationCurveInfoGenerator.java,
ingo@647: 	  src/main/java/de/intevation/flys/exports/DischargeCurveInfoGenerator.java,
ingo@647: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveInfoGenerator.java:
ingo@647: 	  Concrete instances of ChartInfoGenerator that create the chart info for
ingo@647: 	  the currently supported chart types.
ingo@647: 
ingo@647: 	* doc/conf/conf.xml: Registered new OutGenerators.
ingo@647: 
ingo@646: 2011-05-31  Ingo Weinzierl <ingo@intevation.de>
ingo@646: 
ingo@646: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@646: 	  Added support for the 'type' paramter of the collection's out()
ingo@646: 	  operation.
ingo@646: 
sascha@645: 2011-05-31	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@645: 
sascha@645: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
sascha@645: 	  src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@645: 	  Use an explicit reference km for interpolation now.
sascha@645: 
sascha@644: 2011-05-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@644: 
sascha@644: 	* doc/conf/cache.xml: Introduced cache to store the distance info per river.
sascha@644: 	  This boosts performance in following ab setup from  3.61 to 39.91 requests/secs.
sascha@644: 
sascha@644: 	  $ ab -c 20 -n 1000 -p distances.xml http://127.0.0.1:8181/service/distanceinfo
sascha@644: 
sascha@644: 	  $ cat distances.xml
sascha@644: 	    <?xml version="1.0" encoding="UTF-8"?>
sascha@644: 	    <art:river xmlns:art="http://www.intevation.de/2009/artifacts">Elbe</art:river>
sascha@644: 
sascha@644: 	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: Added
sascha@644: 	  an iterator result to avoid construction expensive interim lists.
sascha@644: 
sascha@644: 	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java: Use
sascha@644: 	  the cache if configured.
sascha@644: 
sascha@643: 2011-05-30	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@643: 
sascha@643: 	flys/issue82
sascha@643: 
sascha@643: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@643: 	  Only successful interpolations are named.
sascha@643: 
sascha@642: 2011-05-27	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@642: 
sascha@642: 	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
sascha@642: 	  Make it work independent of river flow direction.
sascha@642: 
sascha@642: 	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
sascha@642: 	  Fixed bug in ordering segments
sascha@642: 
sascha@642: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Re-enabled
sascha@642: 	  calculation of the back jump correction. Fixed more flow direction issues.
sascha@642: 	  
ingo@641: 2011-05-27  Ingo Weinzierl <ingo@intevation.de>
ingo@641: 
ingo@641: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@641: 	  Removed call of XMLDebug class which is not in the version control.
ingo@641: 
ingo@640: 2011-05-27  Ingo Weinzierl <ingo@intevation.de>
ingo@640: 
ingo@640: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@640: 	  Moved the code part that skips themes right after the part that sets the
ingo@640: 	  master artifact for the OutGenerator. We need this master artifact to
ingo@640: 	  display empty charts - master artifact is used to create titles and
ingo@640: 	  axes.
ingo@640: 
ingo@639: 2011-05-27  Ingo Weinzierl <ingo@intevation.de>
ingo@639: 
ingo@639: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@639: 	  Deactivated themes are not put into the chart.
ingo@639: 
ingo@638: 2011-05-27  Ingo Weinzierl <ingo@intevation.de>
ingo@638: 
ingo@638: 	* src/main/java/de/intevation/flys/collections/AttributeParser.java:
ingo@638: 	  Repaired broken XPath expressions to find the output modes in an
ingo@638: 	  attribute document of a collection.
ingo@638: 
ingo@638: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: This
ingo@638: 	  writer will now create a document that has a root node art:attribute.
ingo@638: 	  Before these changes, the document's root node was art:outputs which is
ingo@638: 	  part of the attribute document but not the right root node.
ingo@638: 
ingo@638: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@638: 	  Adapted some XPath expressions and corrected the the process to create
ingo@638: 	  attribute documents.
ingo@638: 
sascha@637: 2011-05-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@637: 
sascha@637: 	* src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java:
sascha@637: 	  Made it work independent of from/to order.
sascha@637: 
sascha@637: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@637: 	  Added method to extract the ranges correctly from data.
sascha@637: 
sascha@637: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@637: 	  Use the correct ranges. Comment out backjump detection temporarily.
sascha@637: 
sascha@636: 2011-05-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@636: 
sascha@636: 	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
sascha@636: 	  Generate fields for w/q input depend on flow direction.
sascha@636: 
sascha@636: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@636: 	  Moved km up question out of loop.
sascha@635: 2011-05-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@635: 
sascha@635: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@635: 	  Take the flow direction into account.
sascha@635: 
sascha@635: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
sascha@635: 	  Prevent NPE.
sascha@635: 
sascha@635: 	* src/main/java/de/intevation/flys/artifacts/states/RangeState.java:
sascha@635: 	  Allow to be 'from' greater than 'to' in ranges.
sascha@635: 
sascha@635: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Negate
sascha@635: 	  step if 'from' is greater than 'to'.
sascha@635: 
sascha@634: 2011-05-26	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@634: 
sascha@634: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@634: 	  Round exploded values to a precision of 1e-6.
sascha@634: 
sascha@633: 2011-05-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@633: 
sascha@633: 	Qs are now stored in ranges for each column.
sascha@633: 
sascha@633: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory2.java:
sascha@633: 	  Deleted.
sascha@633: 
sascha@633: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
sascha@633: 	  Was WstValueTableFactory2.
sascha@633: 
sascha@633: 	* src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java: Fixed
sascha@633: 	  node linking bug. Removed dead code.
sascha@633: 
sascha@633: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@633: 	  Q values are now stored in range trees by each column. The qs of the rows
sascha@633: 	  are removed and the calculations are adjusted. Removed dead code.
sascha@633: 
sascha@632: 2011-05-24	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@632: 
sascha@632: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
sascha@632: 	  Moved cache name to WstValueTableCacheKey. Do not cache null references.
sascha@632: 
sascha@632: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableCacheKey.java:
sascha@632: 	  Moved cache name into this class.
sascha@632: 
sascha@632: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@632: 	  Store QRangeTree for each column of value table. TODO: Use them!
sascha@632: 
sascha@632: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory2.java:
sascha@632: 	  Intended as a replacement for WstValueTableFactory, but is work in progress.
sascha@632: 
sascha@632: 	* src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java: Fixed
sascha@632: 	  index errors and added methods to dump as graphviz graph.
sascha@632: 
ingo@631: 2011-05-24  Ingo Weinzierl <ingo@intevation.de>
ingo@631: 
ingo@631: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
ingo@631: 	  Improved the validation of WQ values.
ingo@631: 
ingo@631: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Use the
ingo@631: 	  correct input data object to determine the selected WQ mode (range or
ingo@631: 	  single input).
ingo@631: 
ingo@630: 2011-05-24  Ingo Weinzierl <ingo@intevation.de>
ingo@630: 
ingo@630: 	  ISSUE-40 (part I/II)
ingo@630: 
ingo@630: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@630: 	  Write default values (values already selected by the user before) of the
ingo@630: 	  input data items into DESCRIBE.
ingo@630: 
ingo@629: 2011-05-24  Ingo Weinzierl <ingo@intevation.de>
ingo@629: 
ingo@629: 	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
ingo@629: 	  Removed needless imports.
ingo@629: 
ingo@629: 2011-05-24  Ingo Weinzierl <ingo@intevation.de>
ingo@628: 
ingo@628: 	  ISSUE-85 (part III/III)
ingo@628: 
ingo@628: 	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
ingo@628: 	  Added a static function that returns the kilometer values (double[])
ingo@628: 	  from locations input (whitespace separated double values).
ingo@628: 
ingo@628: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Adapted
ingo@628: 	  the getKms() method. It will now return a computed array of kilometers
ingo@628: 	  if we had inserted a range, or it will return the inserted kilometers if
ingo@628: 	  we had inserted locations.
ingo@628: 
sascha@626: 2011-05-24	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@626: 
sascha@626: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
sascha@626: 	  Moved cache key to separate class.
sascha@626: 
sascha@626: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableCacheKey.java:
sascha@626: 	  New. The new cache key class.
sascha@626: 
sascha@625: 2011-05-24	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@625: 
sascha@625: 	* src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java:
sascha@625: 	  Model to store the q values of a WST column efficiently. First
sascha@625: 	  building block not to store the q values directly aside the
sascha@625: 	  w values.
sascha@625: 
ingo@629: 2011-05-24  Ingo Weinzierl <ingo@intevation.de>
ingo@624: 
ingo@627: 	  ISSUE-85 (part I/III)
ingo@627: 
ingo@627: 	* doc/conf/artifacts/winfo.xml: Added two further field 'ld_mode' and
ingo@627: 	  'ld_locations' to the range/locations state to track the selected mode
ingo@627: 	  and locations.
ingo@627: 
ingo@627: 	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
ingo@627: 	  Added methods to validate the user inserted locations.
ingo@627: 
ingo@627: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
ingo@627: 	  method to determine of a range or locations have been inserted.
ingo@627: 
ingo@627: 2011-05-23  Ingo Weinzierl <ingo@intevation.de>
ingo@627: 
ingo@624: 	  ISSUE-62 (part II/II)
ingo@624: 
ingo@624: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Dump the
ingo@624: 	  artifacts state/data in DEBUG mode in describe().
ingo@624: 
ingo@624: 	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
ingo@624: 	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java,
ingo@624: 	  src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java,
ingo@624: 	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java,
ingo@624: 	  src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java,
ingo@624: 	  src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java,
ingo@624: 	  src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
ingo@624: 	  States will no longer store data. The only reason for states storing
ingo@624: 	  StateData is to know about the necessary data for this state. If a State
ingo@624: 	  needs to access the user input for a specific StateData object, it needs
ingo@624: 	  to query the FLYSArtifact which stores the data.
ingo@624: 
ingo@623: 2011-05-23  Ingo Weinzierl <ingo@intevation.de>
ingo@623: 
ingo@623: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
ingo@623: 	  method to dump the artifacts state(s)/data.
ingo@623: 
sascha@622: 2011-05-23	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@622: 
sascha@622: 	flys/issue84
sascha@622: 
sascha@622: 	* src/main/java/de/intevation/flys/artifacts/model/WstFactory.java:
sascha@622: 	  Forget to select wst kind.
sascha@622: 	  
sascha@621: 2011-05-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@621: 
sascha@621: 	flys/issue81
sascha@621: 
sascha@621: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@621: 	  weights for kms were swapped. 
sascha@621: 
ingo@620: 2011-05-20  Ingo Weinzierl <ingo@intevation.de>
ingo@620: 
ingo@620: 	Tagged RELEASE 2.3.1
ingo@620: 
ingo@619: 2011-05-20  Ingo Weinzierl <ingo@intevation.de>
ingo@619: 
ingo@619: 	* Changes: Prepared changes for the upcoming release.
ingo@619: 
hans@460: 2011-05-20  Hans Plum <hans@intevation.de>
hans@460: 
hans@460: 	* NEWS:
hans@460: 	Hint to Release 2.3.1. For further information look into module
hans@460: 	flys-client/NEWS
hans@460: 
sascha@459: 2011-05-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@459: 
sascha@459: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java (getExplodedValues):
sascha@459: 	  Increment kms array size by one to take the end of range, too.
sascha@459: 
sascha@458: 2011-05-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@458: 
sascha@458: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
sascha@458: 	  Sort by rows (should not be necessary).
sascha@458: 
sascha@458: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@458: 	  Use unsharp km lookup (epsilon = 0.0001). This fixes the problem
sascha@458: 	  that some kms were not found.
sascha@458: 
ingo@457: 2011-05-19  Ingo Weinzierl <ingo@intevation.de>
ingo@457: 
ingo@457: 	  flys/issue66
ingo@457: 
ingo@457: 	* src/main/resources/messages_en.properties: Fixed broken template.
ingo@457: 
ingo@456: 2011-05-19  Ingo Weinzierl <ingo@intevation.de>
ingo@456: 
ingo@456: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
ingo@456: 	  Set the name of the computed discharge curve objects.
ingo@456: 
ingo@456: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
ingo@456: 	  The curves of this chart will now have names that consist of the word
ingo@456: 	  'Discharge Curve', the river name and the kilometer that has been used
ingo@456: 	  for the computation.
ingo@456: 
ingo@456: 	* src/main/resources/messages.properties,
ingo@456: 	  src/main/resources/messages_de_DE.properties,
ingo@456: 	  src/main/resources/messages_en.properties,
ingo@456: 	  src/main/resources/messages_de.properties: Added i18n strings for the
ingo@456: 	  computed discharge curves.
ingo@456: 
sascha@455: 2011-05-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@455: 
sascha@455: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@455: 	  Added convenience method isQ() to determine if we are
sascha@455: 	  doing Q calculations.
sascha@455: 
sascha@455: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@455: 	  Reintroduced titles for the "W for unausgeglichene Abfluesse".
sascha@455: 
ingo@454: 2011-05-19  Ingo Weinzierl <ingo@intevation.de>
ingo@454: 
ingo@454: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
ingo@454: 	  The curves will now have names that consist of the gauge name and its
ingo@454: 	  valid time range.
ingo@454: 
ingo@454: 	* src/main/resources/messages.properties,
ingo@454: 	  src/main/resources/messages_de_DE.properties,
ingo@454: 	  src/main/resources/messages_en.properties,
ingo@454: 	  src/main/resources/messages_de.properties: Added i18n strings for the
ingo@454: 	  discharge curves.
ingo@454: 
sascha@453: 2011-05-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@453: 
sascha@453: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@453: 	  Removed dead code.
sascha@453: 
sascha@452: 2011-05-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@452: 
sascha@452: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@452: 	  Use the correct method to generate kms.
sascha@452: 
sascha@452: 	* src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java:
sascha@452: 	  Added some logging to test the map in debug mode.
sascha@452: 
sascha@451: 2011-05-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@451: 
sascha@451: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
sascha@451: 	  Made getExplodedValues static.
sascha@451: 
sascha@451: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@451: 	  Use new logic to calculate "W für ungleichwertige Abfluesse".
sascha@451: 	  Not working, yet.
sascha@451: 
sascha@451: 	* ChangeLog: Fixed former entry.
sascha@451: 
ingo@450: 2011-05-18  Ingo Weinzierl <ingo@intevation.de>
ingo@450: 
ingo@450: 	* doc/conf/artifacts/winfo.xml: Registered the WST export for discharge
ingo@450: 	  longitudinal sections.
ingo@450: 
ingo@450: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Set the
ingo@450: 	  names of the discharge longitudinal section computation results.
ingo@450: 
ingo@450: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java:
ingo@450: 	  The W/Q curves in the chart will now have names.
ingo@450: 
ingo@450: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
ingo@450: 	  The WstWriter is filled with column names in an own method. So, we are
ingo@450: 	  able to override this process in subclasses.
ingo@450: 
ingo@450: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java:
ingo@450: 	  Adapted the column names for the WST export.
ingo@450: 
sascha@451: 2011-05-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@451: 
sascha@451: 	Work on flys/issue69
sascha@451: 
sascha@451: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@451: 	  Use new logic to calculate "Wasserstand/Wasserspiegellage".
sascha@451: 	  Compared to desktop FLYS are the results are structurally right 
sascha@451: 	  but a bit off in the positions after the decimal points.
sascha@451: 	  Maybe a result of the interpolation? Need to debug this.
sascha@449: 
ingo@448: 2011-05-18  Ingo Weinzierl <ingo@intevation.de>
ingo@448: 
ingo@448: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@448: 	  W and Q curves will now have names based on the defined W or Q values
ingo@448: 	  for the waterlevel computation.
ingo@448: 
ingo@447: 2011-05-18  Ingo Weinzierl <ingo@intevation.de>
ingo@447: 
ingo@447: 	* src/main/java/de/intevation/flys/artifacts/model/NamedObject.java:
ingo@447: 	  New. This object is used to give objects a name.
ingo@447: 
ingo@447: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Inherit
ingo@447: 	  from NamedObject now. Because we need to display names for those objects
ingo@447: 	  in different places.
ingo@447: 
ingo@447: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The WQKms
ingo@447: 	  objects returned by a waterlevel computation will now have names.
ingo@447: 
ingo@447: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
ingo@447: 	  Insert the column names for the WSTs into the WstWriter.
ingo@447: 
ingo@447: 	* src/main/java/de/intevation/flys/exports/WstWriter.java: The column
ingo@447: 	  names are written into the head of the WSTs now.
ingo@447: 
ingo@446: 2011-05-17  Ingo Weinzierl <ingo@intevation.de>
ingo@446: 
ingo@446: 	* src/main/java/de/intevation/flys/artifacts/model/WstLine.java: New. This
ingo@446: 	  class is used to store the W/Q values of a specific kilometer of a WST.
ingo@446: 
ingo@446: 	* src/main/java/de/intevation/flys/exports/WstWriter.java: New. A writer
ingo@446: 	  that creates WSTs.
ingo@446: 
ingo@446: 	  TODO: The header of the WSTs is not finished. The Q descriptions are
ingo@446: 	  missing.
ingo@446: 
ingo@446: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java:
ingo@446: 	  Enabled WST exports.
ingo@446: 
ingo@446: 	* doc/conf/artifacts/winfo.xml: Registered the WST export for waterlevels.
ingo@446: 
ingo@445: 2011-05-17  Ingo Weinzierl <ingo@intevation.de>
ingo@445: 
ingo@445: 	* src/main/java/de/intevation/flys/utils/Formatter.java: New. This class
ingo@445: 	  supports functions to retrieve formatters for specific types of data
ingo@445: 	  used in FLYS.
ingo@445: 
ingo@445: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
ingo@445: 	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
ingo@445: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java,
ingo@445: 	  src/main/java/de/intevation/flys/exports/AbstractExporter.java:
ingo@445: 	  Removed the formatter declaration - the whole formatter stuff is done in
ingo@445: 	  Formatter now.
ingo@445: 
ingo@444: 2011-05-17  Ingo Weinzierl <ingo@intevation.de>
ingo@444: 
ingo@444: 	  ISSUE-72
ingo@444: 
ingo@444: 	* src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java:
ingo@444: 	  Repaired broken XPath expressions to extract start and end kilometer.
ingo@444: 
sascha@443: 2011-05-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@443: 
sascha@443: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@443: 	  Removed the Hibernate loading stuff.
sascha@443: 
sascha@443: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java:
sascha@443: 	  New. The Hibernate loading.
sascha@443: 
sascha@443: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@443: 	  Use the WstValueTableFactory for loading now.
sascha@443: 
ingo@442: 2011-05-17  Ingo Weinzierl <ingo@intevation.de>
ingo@442: 
hans@460: 	Tagged RELEASE 0.1 aka Version 2.3.0
ingo@442: 
hans@428: 2011-05-16  Hans Plum <hans@intevation.de>
hans@428: 
hans@428: 	* NEWS:
hans@428: 	New. Giving some user specific perspective to new functionality and
hans@428: 	changes. This file references releases dates only; details can be find
hans@428: 	in the client module at flys-client.
hans@428: 
sascha@427: 2011-05-10	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@427: 
sascha@427: 	First step to calculate "W fuer ungleichwertige Abfluesse" correctly.
sascha@427: 	flys/issue55
sascha@427: 
sascha@427: 	* src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java:
sascha@427: 	  New. Remaps "gleichwertige" Q values to the corresponding
sascha@427: 	  "ungleichwertige" Q values depending on km.
sascha@427: 	  
sascha@427: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@427: 	  Remap the Q values "ungleichwertig" depending on the 
sascha@427: 	  "gleichwertige" ones.
sascha@427: 
sascha@426: 2011-05-10	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@426: 
sascha@426: 	First step to fix flys/issue69
sascha@426: 
sascha@426: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@426: 	  New code path to implement the calculation of "Wasserstand/Wasspiegellage"
sascha@426: 	  correctly. TODO 1: Use new path in UI. TODO 2: Remove unused old code.
sascha@426: 
ingo@425: 2011-05-13  Ingo Weinzierl <ingo@intevation.de>
ingo@425: 
ingo@425: 	* Changes: Prepared Changes for the upcoming release 2.3 - see Changes
ingo@425: 	  file to get to know about the changes of the version numbers.
ingo@425: 
ingo@424: 2011-05-13  Ingo Weinzierl <ingo@intevation.de>
ingo@424: 
ingo@424: 	  ISSUE-37
ingo@424: 
ingo@424: 	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: This
ingo@424: 	  state would be happy if there is a UI provider called "river_panel".
ingo@424: 
ingo@423: 2011-05-11  Ingo Weinzierl <ingo@intevation.de>
ingo@423: 
ingo@423: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added new
ingo@423: 	  methods that return the requested chart size as integer array [width,
ingo@423: 	  height]. The requested size is read from the incomding request document.
ingo@423: 
ingo@423: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: The size
ingo@423: 	  of a chart is no longer static. The requested size is fetched using
ingo@423: 	  ChartGenerator.getSize().
ingo@423: 
ingo@422: 2011-05-11  Ingo Weinzierl <ingo@intevation.de>
ingo@422: 
ingo@422: 	  ISSUE-52
ingo@422: 
ingo@422: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@422: 	  The X-Axis of such a chart is inverted, if the head of the river is not
ingo@422: 	  at kilometer 0. This type of charts always have the head of the river at
ingo@422: 	  the left side.
ingo@422: 
sascha@421: 2011-05-10	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@421: 
sascha@421: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@421: 	  Make incoming XML symmetric to DistanceInfoService.
sascha@421: 
ingo@420: 2011-05-10  Ingo Weinzierl <ingo@intevation.de>
ingo@420: 
ingo@420: 	  ISSUE-47
ingo@420: 
ingo@420: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java,
ingo@420: 	  src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
ingo@420: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@420: 	  Adjusted temporarily the color of the W, Q and corrected W curves to
ingo@420: 	  distinguish each other.
ingo@420: 
ingo@419: 2011-05-10  Ingo Weinzierl <ingo@intevation.de>
ingo@419: 
ingo@419: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java:
ingo@419: 	  Adjusted the plot of xy charts - the gridlines are displayed now.
ingo@419: 
ingo@418: 2011-05-10  Ingo Weinzierl <ingo@intevation.de>
ingo@418: 
ingo@418: 	  ISSUE-53
ingo@418: 
ingo@418: 	* src/main/java/de/intevation/flys/artifacts/resources/Resources.java:
ingo@418: 	  Added a method that returns the preferred locale based on the available
ingo@418: 	  locales of the server and the desired locales of the request (CallMeta).
ingo@418: 
ingo@418: 	* src/main/java/de/intevation/flys/exports/AbstractExporter.java: Added a
ingo@418: 	  method that creates a number formatter with minimum and maximum digits.
ingo@418: 
ingo@418: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java,
ingo@418: 	  src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
ingo@418: 	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
ingo@418: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java:
ingo@418: 	  Formatted the number values of the CSV exports.
ingo@418: 
ingo@417: 2011-05-10  Ingo Weinzierl <ingo@intevation.de>
ingo@417: 
ingo@417: 	* src/main/java/de/intevation/flys/artifacts/model/RangeWithValues.java:
ingo@417: 	  New. A data structure that enables us to save a data triple: a range
ingo@417: 	  that consist of lower and upper double value and a set of values that
ingo@417: 	  belong to this range.
ingo@417: 
ingo@417: 	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
ingo@417: 	  Implemented the validation of W/Q values.
ingo@417: 
ingo@416: 2011-05-10  Ingo Weinzierl <ingo@intevation.de>
ingo@416: 
ingo@416: 	* src/main/java/de/intevation/flys/exports/AbstractExporter.java: New
ingo@416: 	  method to retrieve i18n messages based on keys.
ingo@416: 
ingo@416: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java,
ingo@416: 	  src/main/java/de/intevation/flys/exports/WaterlevelExporter.java,
ingo@416: 	  src/main/java/de/intevation/flys/exports/DurationCurveExporter.java,
ingo@416: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java:
ingo@416: 	  Added headers for CSV exports.
ingo@416: 
ingo@416: 	* src/main/resources/messages.properties,
ingo@416: 	  src/main/resources/messages_de_DE.properties,
ingo@416: 	  src/main/resources/messages_en.properties,
ingo@416: 	  src/main/resources/messages_de.properties: Added new i18n strings for
ingo@416: 	  CSV headers.
ingo@416: 
sascha@415: 2011-05-10	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@415: 
sascha@415: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@415: 	  Fetches river name from incoming XML document. If no river is given all 
sascha@415: 	  infos about all rivers are listed.
sascha@415: 
sascha@415: 	* src/main/resources/metadata/template.xml: Templates honors the 'river'
sascha@415: 	  parameter.
sascha@415: 
sascha@415: 	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
sascha@415: 	  Extended to pass parameters to the templating. Added support for
sascha@415: 	  type conversion.
sascha@415: 
sascha@415: 	* src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java:
sascha@415: 	  Take parameters as an initial stack frame.
sascha@415: 	  
sascha@415: 	* src/main/java/de/intevation/flys/artifacts/services/meta/TypeConverter.java:
sascha@415: 	  New. Converts types off stacked variables.
sascha@415: 
ingo@414: 2011-05-10  Ingo Weinzierl <ingo@intevation.de>
ingo@414: 
ingo@414: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added a
ingo@414: 	  method to add subtitles to charts. The implementation in this class does
ingo@414: 	  not add any subtitle. Concrete subclasses may override this method to
ingo@414: 	  add some.
ingo@414: 
ingo@414: 	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
ingo@414: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@414: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
ingo@414: 	  Add subtitles to charts.
ingo@414: 
ingo@414: 	* src/main/resources/messages.properties,
ingo@414: 	  src/main/resources/messages_de_DE.properties,
ingo@414: 	  src/main/resources/messages_en.properties,
ingo@414: 	  src/main/resources/messages_de.properties: Added i18n templates for
ingo@414: 	  compound messages (chart subtitles).
ingo@414: 
ingo@413: 2011-05-10  Ingo Weinzierl <ingo@intevation.de>
ingo@413: 
ingo@413: 	* src/main/java/de/intevation/flys/artifacts/resources/Resources.java:
ingo@413: 	  Added new methods to retrieve translated compound messages.
ingo@413: 
ingo@412: 2011-05-10  Ingo Weinzierl <ingo@intevation.de>
ingo@412: 
ingo@412: 	* src/main/java/de/intevation/flys/exports/OutGenerator.java: Added a
ingo@412: 	  method to set the master artifact that should be used for some special
ingo@412: 	  operations.
ingo@412: 
ingo@412: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java,
ingo@412: 	  src/main/java/de/intevation/flys/exports/AbstractExporter.java:
ingo@412: 	  Implement the setMasterArtifact() method of the interface.
ingo@412: 
ingo@412: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@412: 	  Call OutGenerator.setMasterArtifact().
ingo@412: 
ingo@412: 	  NOTE: The determination of the master artifact needs to be implemented!
ingo@412: 
ingo@411: 2011-05-10  Ingo Weinzierl <ingo@intevation.de>
ingo@411: 
ingo@411: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Removed
ingo@411: 	  hard coded dev code that defined a WQ mode.
ingo@411: 
sascha@410: 2011-05-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@410: 
sascha@410: 	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
sascha@410: 	  Stripped ugly extra whitespace from output introduced by
sascha@410: 	  templating.
sascha@410: 
sascha@409: 2011-05-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@409: 
sascha@409: 	* src/main/resources/metadata/template.xml: Added forgotten
sascha@409: 	  columns of fixation WSTs.
sascha@409: 
ingo@408: 2011-05-09  Ingo Weinzierl <ingo@intevation.de>
ingo@408: 
ingo@408: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added a
ingo@408: 	  method to retrieve i18n strings.
ingo@408: 
ingo@408: 	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java,
ingo@408: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java,
ingo@408: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@408: 	  src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
ingo@408: 	  Enabled i18n support for chart title and axes labels.
ingo@408: 
ingo@408: 	* src/main/resources/messages.properties,
ingo@408: 	  src/main/resources/messages_de_DE.properties,
ingo@408: 	  src/main/resources/messages_en.properties,
ingo@408: 	  src/main/resources/messages_de.properties: Added i18n strings for the
ingo@408: 	  chart types above.
ingo@408: 
ingo@407: 2011-05-09  Ingo Weinzierl <ingo@intevation.de>
ingo@407: 
ingo@407: 	* src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java:
ingo@407: 	  New. This OutGenerator exports the data of a discharge longitudinal
ingo@407: 	  section computation.
ingo@407: 
ingo@407: 	* doc/conf/conf.xml: Added the DischargeLongitudinalSectionExporter.
ingo@407: 
ingo@407: 	* doc/conf/artifacts/winfo.xml: Added the exporter with CSV facet to the
ingo@407: 	  discharge_longitudinal_section state.
ingo@407: 
sascha@406: 2011-05-07	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@406: 
sascha@406: 	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
sascha@406: 	  Added code to make back jump correction work with both
sascha@406: 	  potential flow directions.
sascha@406: 
sascha@405: 2011-05-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@405: 
sascha@405: 	* src/main/resources/metadata/template.xml:
sascha@405: 	  Added data cage configuration for 'Längsschnitt'.
sascha@405: 
ingo@402: 2011-05-06  Ingo Weinzierl <ingo@intevation.de>
ingo@402: 
ingo@402: 	* doc/conf/artifacts/winfo.xml: Added the missing Q facet for discharge
ingo@402: 	  longitudinal sections.
ingo@402: 
ingo@402: 	* src/main/java/de/intevation/flys/artifacts/model/WQCKms.java: New. A
ingo@402: 	  derived dataset to store W/Q values with corrected Ws for a kilometer
ingo@402: 	  range.
ingo@402: 
ingo@402: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Some new
ingo@402: 	  methods and a new constructor to initialize this data object with a
ingo@402: 	  predefined set of values.
ingo@402: 
ingo@402: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New
ingo@402: 	  methods to retrieve the W/Q values for the 'discharge longitudinal
ingo@402: 	  section' computation.
ingo@402: 
ingo@402: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: New
ingo@402: 	  methods to retrieve and compute data used for the 'discharge
ingo@402: 	  longitudinal section' computation.
ingo@402: 
ingo@401: 2011-05-05  Ingo Weinzierl <ingo@intevation.de>
ingo@401: 
ingo@401: 	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java:
ingo@401: 	  Bugfix: just write the ranges of gauges into the DESCRIBE if the
ingo@401: 	  'wq_values' data item is required.
ingo@401: 
ingo@401: 	* src/main/resources/messages.properties,
ingo@401: 	  src/main/resources/messages_de_DE.properties,
ingo@401: 	  src/main/resources/messages_en.properties,
ingo@401: 	  src/main/resources/messages_de.properties: Added i18n messages used in
ingo@401: 	  the DESCRIBE of the WQAdapted state.
ingo@401: 
ingo@400: 2011-05-05  Ingo Weinzierl <ingo@intevation.de>
ingo@400: 
ingo@400: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
ingo@400: 	  Changed the title of the y-axis (now 'W [NN+m]').
ingo@400: 
ingo@399: 2011-05-05  Ingo Weinzierl <ingo@intevation.de>
ingo@399: 
ingo@399: 	* doc/conf/artifacts/winfo.xml: Improved the transition model to reach the
ingo@399: 	  output state for creating 'discharge longitudinal section' charts.
ingo@399: 
ingo@399: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a
ingo@399: 	  method that returns all gauges of the selected river based on a the
ingo@399: 	  given kilometer range.
ingo@399: 
ingo@399: 	* src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: New.
ingo@399: 	  This state creates a set of elements for the DESCRIBE that consist of a
ingo@399: 	  tuple of kilometer values. The number of elements depend on the number
ingo@399: 	  of gauges intersected by the given kilometer range.
ingo@399: 
ingo@399: 	* src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java:
ingo@399: 	  New. This state is the output state that is reached after the 'discharge
ingo@399: 	  longitudinal section' computation has been chosen.
ingo@399: 
ingo@398: 2011-05-05  Ingo Weinzierl <ingo@intevation.de>
ingo@398: 
ingo@398: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Default
ingo@398: 	  step width between two kilometers added - if no step width is given,
ingo@398: 	  this default width is used.
ingo@398: 
ingo@397: 2011-05-05  Ingo Weinzierl <ingo@intevation.de>
ingo@397: 
ingo@397: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@397: 	  Fixed a potential NullPointerException if there is just a single
ingo@397: 	  kilometer given to create a longitudinal section.
ingo@397: 
sascha@396: 2011-05-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@396: 
sascha@396: 	* pom.xml: Added http://repository.jboss.org/maven2 repo
sascha@396: 	  to fix flys/issue30
sascha@396: 
sascha@396: 2011-05-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@395: 
sascha@395: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@395: 	  To make diagram generation possible ws are now generated from qs
sascha@395: 	  because they are many ws having different qs.
sascha@395: 
ingo@394: 2011-05-04  Ingo Weinzierl <ingo@intevation.de>
ingo@394: 
ingo@394: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java:
ingo@394: 	  Fetch the WQ data from WINFO artifact and write those values into the
ingo@394: 	  CSV export.
ingo@394: 
ingo@393: 2011-05-04  Ingo Weinzierl <ingo@intevation.de>
ingo@393: 
ingo@393: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added
ingo@393: 	  methods to compute and retrieve the data for discharge curves (computed).
ingo@393: 
ingo@393: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
ingo@393: 	  Fetch the computed discharge curve data from WINFOArtifact and add the
ingo@393: 	  values into the JFreeChart dataset.
ingo@393: 
ingo@392: 2011-05-04  Ingo Weinzierl <ingo@intevation.de>
ingo@392: 
ingo@392: 	* doc/conf/artifacts/winfo.xml: Added new transitions and states to enable
ingo@392: 	  the WINFO artifact for computing discharge curves.
ingo@392: 
ingo@392: 	* doc/conf/conf.xml: Added OutGenerators that generate computed discharge
ingo@392: 	  curves and exports for its data.
ingo@392: 
ingo@392: 	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java:
ingo@392: 	  New. This state is reached if the user chose the computed discharge
ingo@392: 	  curve.
ingo@392: 
ingo@392: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
ingo@392: 	  New. This is only a stub implementation at the moment. This
ingo@392: 	  OutGenerator should create computed discharge curves later. It extends
ingo@392: 	  the DischargeCurveGenerator which should do the same stuff for discharge
ingo@392: 	  curves for gauges.
ingo@392: 
ingo@392: 	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java:
ingo@392: 	  New. This is only a stub implementation at the moment. This OutGenerator
ingo@392: 	  should create the exports of the discharge curve computation.
ingo@392: 
ingo@391: 2011-05-03  Ingo Weinzierl <ingo@intevation.de>
ingo@391: 
ingo@391: 	* doc/conf/artifacts/winfo.xml: Added a new output mode for the duration
ingo@391: 	  curve state (CSV export).
ingo@391: 
ingo@391: 	* doc/conf/conf.xml: Added a new OutGenerator to export duration curve
ingo@391: 	  computations.
ingo@391: 
ingo@391: 	* src/main/java/de/intevation/flys/exports/AbstractExporter.java: New.
ingo@391: 	  This abstract OutGenerator represents the base class for exporting
ingo@391: 	  computed data. Currently, the CSV export is supported.
ingo@391: 
ingo@391: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Moved
ingo@391: 	  the most code to export to CSV into the AbstractExporter.
ingo@391: 
ingo@391: 	* src/main/java/de/intevation/flys/exports/DurationCurveExporter.java:
ingo@391: 	  New. This exporter exports the computed data of a duration computation.
ingo@391: 
ingo@390: 2011-05-03  Ingo Weinzierl <ingo@intevation.de>
ingo@390: 
ingo@390: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@390: 	  Modified a wrong debug statement which would confuse the user.
ingo@390: 
ingo@389: 2011-05-03  Ingo Weinzierl <ingo@intevation.de>
ingo@389: 
ingo@389: 	* doc/conf/artifacts/winfo.xml: Added a new output mode for the waterlevel
ingo@389: 	  state (CSV export).
ingo@389: 
ingo@389: 	* doc/conf/conf.xml: Added a new OutGenerator to export waterlevels.
ingo@389: 
ingo@389: 	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: New.
ingo@389: 	  This OutGenerator exports the data of a waterlevel computation. Note:
ingo@389: 	  It is necessary to specify the desired facet (e.g.
ingo@389: 	  'waterlevel_export.csv').
ingo@389: 
ingo@389: 	* pom.xml: Added a dependency to OpenCSV.
ingo@389: 
ingo@388: 2011-05-03  Ingo Weinzierl <ingo@intevation.de>
ingo@388: 
ingo@388: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@388: 	  Introduced an "export" output target. If the target is "export", a
ingo@388: 	  facet (read from the incoming xml document) is a necessary parameter
ingo@388: 	  that determines which facets are written to the output.
ingo@388: 
ingo@387: 2011-05-03  Ingo Weinzierl <ingo@intevation.de>
ingo@387: 
ingo@387: 	* src/main/resources/messages_en.properties: Bugfix: replaced german
ingo@387: 	  string (copy & paste mistake).
ingo@387: 
ingo@386: 2011-05-03  Ingo Weinzierl <ingo@intevation.de>
ingo@386: 
ingo@386: 	* src/main/resources/messages.properties,
ingo@386: 	  src/main/resources/messages_de_DE.properties,
ingo@386: 	  src/main/resources/messages_en.properties,
ingo@386: 	  src/main/resources/messages_de.properties: Added new i18n strings for
ingo@386: 	  for the location selection.
ingo@386: 
ingo@385: 2011-05-03  Ingo Weinzierl <ingo@intevation.de>
ingo@385: 
ingo@385: 	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
ingo@385: 	  New. An OutGenerator for creating duration curves.
ingo@385: 
ingo@385: 	* src/main/java/de/intevation/flys/artifacts/model/WQDay.java: New. A
ingo@385: 	  model class to store necessary data for creating W and Q facets of a
ingo@385: 	  duration curve. This model stores W, Q and Days.
ingo@385: 
ingo@385: 	* src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java:
ingo@385: 	  Added a function to retrieve tuples of (day, q) based on a given gauge -
ingo@385: 	  these tuples are necessary for creating duration curves.
ingo@385: 
ingo@385: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added
ingo@385: 	  methods to compute and retrieve the data necessary for creating duration
ingo@385: 	  curves.
ingo@385: 
ingo@385: 	* src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java:
ingo@385: 	  Bugfix: improved the access to the location array (avoid
ingo@385: 	  NullPointerException).
ingo@385: 
ingo@385: 	* doc/conf/conf.xml: Registered the new OutGenerator for duration curves.
ingo@385: 
sascha@384: 2011-05-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@384: 
sascha@384: 	* contrib/visualize-transitions.xsl: State quoting was done wrong.
sascha@384: 
ingo@383: 2011-05-02  Ingo Weinzierl <ingo@intevation.de>
ingo@383: 
ingo@383: 	* doc/conf/artifacts/winfo.xml: Enhanced the transition model to reach the
ingo@383: 	  final state for creating duration curves.
ingo@383: 
ingo@383: 	* src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java:
ingo@383: 	  New. This state should be reached to just insert an array of locations.
ingo@383: 
ingo@383: 	* src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java:
ingo@383: 	  New. This state is reached if the duration curve calculation is
ingo@383: 	  selected.
ingo@383: 
ingo@383: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Adjusted
ingo@383: 	  getDistance() so that it takes care on inserted locations - not just
ingo@383: 	  inserted ranges.
ingo@383: 
sascha@382: 2011-05-02	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@382: 
sascha@382: 	* src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java:
sascha@382: 	  Flush/persist caches at program exists.
sascha@382: 
sascha@382: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
sascha@382: 	  Commented out too eloquent debug output.
sascha@382: 
ingo@381: 2011-05-02  Ingo Weinzierl <ingo@intevation.de>
ingo@381: 
ingo@381: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
ingo@381: 	  Uses the methods of FLYSArtifact to retrieve the necessary information
ingo@381: 	  rivername and selected distance.
ingo@381: 
sascha@380: 2011-05-02	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@380: 
sascha@380: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@380: 	  Added interpolateW method to take reference to result ws array
sascha@380: 	  as an argument to avoid expensive array allocations in km iterating
sascha@380: 	  loops.
sascha@380: 
sascha@380: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java:
sascha@380: 	  Added a constructor to create backing trove datastructure
sascha@380: 	  with the right capacity.
sascha@380: 
sascha@380: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
sascha@380: 	  Move allocation of result ws out of km loop.
sascha@380: 
ingo@379: 2011-05-02  Ingo Weinzierl <ingo@intevation.de>
ingo@379: 
ingo@379: 	* doc/conf/artifacts/winfo.xml: Added two further data items in the WQ
ingo@379: 	  selection state. Those items are necessary to store the information
ingo@379: 	  about the selected mode (range/single selection) and  the values of the
ingo@379: 	  single selection.
ingo@379: 
ingo@379: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: If
ingo@379: 	  there is no value for a data item, this item is not written into the
ingo@379: 	  static DESCRIBE part.
ingo@379: 
ingo@379: 	* src/main/java/de/intevation/flys/artifacts/states/RangeState.java,
ingo@379: 	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
ingo@379: 	  Renamed the method to validate upper and lower values.
ingo@379: 
ingo@379: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: This
ingo@379: 	  state can now handle values inserted in the single selection. Therefore,
ingo@379: 	  new validate methods has been added.
ingo@379: 
ingo@379: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The
ingo@379: 	  methods getWs() and getWs() take care on the values inserted in the
ingo@379: 	  single insert mode of the client which enables the user to insert single
ingo@379: 	  W and Q.
ingo@379: 
sascha@378: 2011-05-02	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@378: 
sascha@378: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
sascha@378: 	  Repaired getQForW() by calculating indices on right dimension.
sascha@378: 
ingo@377: 2011-05-02  Ingo Weinzierl <ingo@intevation.de>
ingo@377: 
ingo@377: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New
ingo@377: 	  methods for retrieving selected W values (getWs()).
ingo@377: 
ingo@377: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The
ingo@377: 	  method for retrieving waterlevel data takes care on selected Ws, now.
ingo@377: 	  The selected Ws are transformed using the DischargeTables.getQForW()
ingo@377: 	  into Q values.
ingo@377: 
ingo@376: 2011-05-02  Ingo Weinzierl <ingo@intevation.de>
ingo@376: 
ingo@376: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
ingo@376: 	  Removed an unused parameter 'result' of getQForW().
ingo@376: 
ingo@375: 2011-05-02  Ingo Weinzierl <ingo@intevation.de>
ingo@375: 
ingo@375: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Removed
ingo@375: 	  the getDataset() method and replaced it with a addDataset() method.
ingo@375: 	  On this way, concrete subclasses of this OutGenerator can have multiple
ingo@375: 	  datasets (e.g. different datasets for W and Q). This abstract method is
ingo@375: 	  called after the chart generation is finished.
ingo@375: 
ingo@375: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@375: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
ingo@375: 	  Both classes implement the addDataset() method. The
ingo@375: 	  LongitudinalSectionGenerator has already multiple datasets for W and Q.
ingo@375: 	  Both are added to the chart - both have an own range axis.
ingo@375: 
sascha@374: 2011-05-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@374: 
sascha@374: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@374: 	  Use the cache for the wst value table if configured.
sascha@374: 
sascha@374: 	* doc/conf/cache.xml: Choose a more precise name for the 
sascha@374: 	  wst value table cache.
sascha@374: 
sascha@373: 2011-04-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@373: 
sascha@373: 	* pom.xml: Added dependency to Ehcache. Apache 2.0 license.
sascha@373: 
sascha@373: 	* doc/conf/conf.xml: Added configuration of ehcache.
sascha@373: 
sascha@373: 	* doc/conf/cache.xml: New. Cache configurations.
sascha@373: 
sascha@373: 	* src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java:
sascha@373: 	  New. Factory to access caches.
sascha@373: 
sascha@372: 2011-04-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@372: 
sascha@372: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@372: 	  Forgot to add.
sascha@372: 
sascha@372: 	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
sascha@372: 	  New. Given a database connection and a XML template it generates
sascha@372: 	  an output with meta data about the database.
sascha@372: 
sascha@372: 	* src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java:
sascha@372: 	  New. Holds prepared statements optimized to be run in the stack of
sascha@372: 	  contextes.
sascha@372: 
sascha@372: 	* src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java:
sascha@372: 	  New. Model to hold a hierarchical scope of variables.
sascha@372: 
sascha@372: 	* src/main/java/de/intevation/flys/artifacts/services/meta/ResultData.java:
sascha@372: 	  New. Stores data set fetched from a sql select to be iterated in
sascha@372: 	  a context.
sascha@372: 
sascha@372: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java,
sascha@372: 	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
sascha@372: 	  Removed superfluous imports.
sascha@372: 
sascha@371: 2011-04-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@371: 
sascha@371: 	* doc/conf/conf.xml: Added meta data service.
sascha@371: 
sascha@371: 	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
sascha@371: 	  Stub for the meta data service.
sascha@371: 
sascha@371: 	* src/main/resources/metadata/template.xml: Initial template for
sascha@371: 	  the meta data service.
sascha@371: 
ingo@370: 2011-04-29  Ingo Weinzierl <ingo@intevation.de>
ingo@370: 
ingo@370: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@370: 	  Bugfix: Now, curves for Q values are drawn into a longitudinal section
ingo@370: 	  chart as well. Therefore, it was necessary to change the datastructure
ingo@370: 	  of the inner class ThemeList that stores all themes included in a chart
ingo@370: 	  in an ordered list (stored in a java.util.Vector now).
ingo@370: 
ingo@369: 2011-04-29  Ingo Weinzierl <ingo@intevation.de>
ingo@369: 
ingo@369: 	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: New. An
ingo@369: 	  abstract base class for ChartGenerators that create XY charts.
ingo@369: 
ingo@369: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
ingo@369: 	  Sourced the generate() method out to the XYChartGenerator.
ingo@369: 
ingo@369: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@369: 	  Implemented the methods to add W and Q facets to the chart.
ingo@369: 
ingo@368: 2011-04-29  Ingo Weinzierl <ingo@intevation.de>
ingo@368: 
ingo@368: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Improved
ingo@368: 	  the calculation of the step with for ranges.
ingo@368: 
ingo@367: 2011-04-29  Ingo Weinzierl <ingo@intevation.de>
ingo@367: 
ingo@367: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Added a
ingo@367: 	  method that returns the number of elements stored in the data pool.
ingo@367: 
sascha@366: 2011-04-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@366: 
sascha@366: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java:
sascha@366: 	  Added a get() method which takes destination array as an
sascha@366: 	  argument.
sascha@366: 
ingo@365: 2011-04-29  Ingo Weinzierl <ingo@intevation.de>
ingo@365: 
ingo@365: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Changed the
ingo@365: 	  data structure to store w, q and kms values from List<Double> to
ingo@365: 	  TDoubleArrayList which stores native double values instead of big
ingo@365: 	  Double values.
ingo@365: 
ingo@365: 	* pom.xml: Added the GNU Trove dependency.
ingo@365: 
ingo@364: 2011-04-29  Ingo Weinzierl <ingo@intevation.de>
ingo@364: 
ingo@364: 	* src/main/java/de/intevation/flys/exports/OutGenerator.java: Added the
ingo@364: 	  name a the requested facet to doOut(). Concrete generators should just
ingo@364: 	  create output for this facet now.
ingo@364: 
ingo@364: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java,
ingo@364: 	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
ingo@364: 	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
ingo@364: 	  Adapted the method signature of doOut().
ingo@364: 
ingo@364: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@364: 	  Adapted the method call of OutGenerator.doOut().
ingo@364: 
ingo@363: 2011-04-29  Ingo Weinzierl <ingo@intevation.de>
ingo@363: 
ingo@363: 	* doc/conf/themes.xml: Added mappings for the facets
ingo@363: 	  longitudinal.section.w and longitudinal.section.q.
ingo@363: 
ingo@362: 2011-04-29  Ingo Weinzierl <ingo@intevation.de>
ingo@362: 
ingo@362: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added some
ingo@362: 	  methods to retrieve necessary information for computing the data of a
ingo@362: 	  waterlevel.
ingo@362: 
ingo@362: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added
ingo@362: 	  methods to compute and retrieve the data of a waterlevel computation.
ingo@362: 
ingo@361: 2011-04-29  Ingo Weinzierl <ingo@intevation.de>
ingo@361: 
ingo@361: 	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java: New. This
ingo@361: 	  model class represents a pool of data triples that consist of W, Q and
ingo@361: 	  Kms information. This class might be used to compute data for creating
ingo@361: 	  longitudinal section curves (which are based on those W, Q and Kms
ingo@361: 	  values).
ingo@361: 
ingo@360: 2011-04-29  Ingo Weinzierl <ingo@intevation.de>
ingo@360: 
ingo@360: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
ingo@360: 	  Bugfix: Removed endless loop and a bug while iterating over Hibernate
ingo@360: 	  results.
ingo@360: 
ingo@359: 2011-04-28  Ingo Weinzierl <ingo@intevation.de>
ingo@359: 
ingo@359: 	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
ingo@359: 	  New. An OutGenerator that creates longitudinal section curves.
ingo@359: 
ingo@359: 	  NOTE: This is just the stub - the out creation needs to be implemented!
ingo@359: 
ingo@359: 	* doc/conf/conf.xml: Added the LongitudinalSectionGenerator.
ingo@359: 
ingo@358: 2011-04-28  Ingo Weinzierl <ingo@intevation.de>
ingo@358: 
ingo@358: 	* doc/conf/conf.xml: Bugfix: Added missing <output-generators> section.
ingo@358: 
ingo@357: 2011-04-28  Ingo Weinzierl <ingo@intevation.de>
ingo@357: 
ingo@357: 	* src/main/java/de/intevation/flys/artifacts/WaterlevelState.java: New.
ingo@357: 	  This state should be reached if the 'calc.surface.curve' calculation
ingo@357: 	  method has been chosen.
ingo@357: 
ingo@357: 	* doc/conf/artifacts/winfo.xml: Modified a transition and added the
ingo@357: 	  WaterlevelState. This state is reached if the 'calc.surface.curve'
ingo@357: 	  calculation method has been chosen. It currently has 1 output - a
ingo@357: 	  longitudinal section that is not implemented yet!
ingo@357: 
ingo@356: 2011-04-28  Ingo Weinzierl <ingo@intevation.de>
ingo@356: 
ingo@356: 	* src/main/java/de/intevation/flys/artifacts/transitions/ValueCompareTransition.java:
ingo@356: 	  New. This transition is valid if the a data object of the current
ingo@356: 	  artifact equals/notequals a configured value in the transition model.
ingo@356: 
ingo@355: 2011-04-28  Ingo Weinzierl <ingo@intevation.de>
ingo@355: 
ingo@355: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
ingo@355: 	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Bugfixes:
ingo@355: 	  - Adapted the parameters of the isStateReachable() call - added the
ingo@355: 	    artifact and the current state.
ingo@355: 	  - Append the outputs of a current state if the state is filled with
ingo@355: 	    valid data.
ingo@355: 
ingo@354: 2011-04-28  Ingo Weinzierl <ingo@intevation.de>
ingo@354: 
ingo@354: 	* src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java:
ingo@354: 	  Added the missing init() method that has been introduced in the
ingo@354: 	  interface some commits ealier.
ingo@354: 
ingo@354: 	* src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java:
ingo@354: 	  Call init() after a Transition has been created.
ingo@354: 
ingo@353: 2011-04-28  Ingo Weinzierl <ingo@intevation.de>
ingo@353: 
ingo@353: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
ingo@353: 	  Bugfix: Introduced a <art:outputs> node in the attribute document of a
ingo@353: 	  Collection that contains further <art:output> nodes - instead of having
ingo@353: 	  multiple <art:output> nodes at toplevel of the document.
ingo@353: 
ingo@353: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@353: 	  Adapted the XPath to retrieve the outputs in the attribute document of a
ingo@353: 	  Collection.
ingo@353: 
sascha@351: 2011-04-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@351: 
sascha@351: 	* contrib/visualize-transitions.xsl: Added to create a 
sascha@351: 	  Graphviz digraph out of the config.xml. Usage:
sascha@351: 
sascha@351: 	  $ xsltproc --stringparam base-dir ../doc/conf/ \
sascha@351: 	    contrib/visualize-transitions.xsl \
sascha@351: 	    doc/conf/conf.xml > transitions.dot
sascha@351: 
sascha@351: 	  $ dot -Tsvg -o transitions.svg transitions.dot
sascha@351: 
ingo@350: 2011-04-28  Ingo Weinzierl <ingo@intevation.de>
ingo@350: 
ingo@352: 	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
ingo@352: 	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
ingo@352: 	  If no data has been inserted so far, an IllegalArgumentException is
ingo@352: 	  thrown.
ingo@352: 
ingo@352: 2011-04-28  Ingo Weinzierl <ingo@intevation.de>
ingo@352: 
ingo@350: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java::
ingo@350: 	  A lot of new methods to retrieve the theme of a facet - used while
ingo@350: 	  creating the output of a facet/artifact. If a facet has no theme yet, it
ingo@350: 	  is initialized.
ingo@350: 
ingo@349: 2011-04-27  Ingo Weinzierl <ingo@intevation.de>
ingo@349: 
ingo@349: 	* src/main/java/de/intevation/flys/collections/AttributeParser.java,
ingo@349: 	  src/main/java/de/intevation/flys/collections/OutputParser.java: Removed
ingo@349: 	  useless imports.
ingo@349: 
ingo@348: 2011-04-27  Ingo Weinzierl <ingo@intevation.de>
ingo@348: 
ingo@348: 	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: New. An
ingo@348: 	  abstract OutGenerator that might be used to create chart output. Some
ingo@348: 	  basic things that are equal in all charts should be done here!
ingo@348: 
ingo@348: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
ingo@348: 	  This OutGenerator no longer implements the OutGenerator directly, but it
ingo@348: 	  extends the ChartGenerator now.
ingo@348: 
ingo@347: 2011-04-27  Ingo Weinzierl <ingo@intevation.de>
ingo@347: 
ingo@347: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@347: 	  Restructured the out() operation of a collection: Now, we collect a list
ingo@347: 	  of artifacts/facets and use this for the OutGenerator. Its doOut()
ingo@347: 	  method gets the attribute of an artifact - the position and the active
ingo@347: 	  state is managed by the Collection itself.
ingo@347: 
ingo@346: 2011-04-26  Ingo Weinzierl <ingo@intevation.de>
ingo@346: 
ingo@346: 	* src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java: New.
ingo@346: 	  a specialized facet that stores information about its position and its
ingo@346: 	  state (active/inactive) in an output of a collection.
ingo@346: 
ingo@346: 	* src/main/java/de/intevation/flys/collections/AttributeParser.java: New.
ingo@346: 	  This parser takes the attributes (XML) of a collection and extracts the
ingo@346: 	  contained outputs with its facets. The result is a Map<String, Output>.
ingo@346: 
ingo@346: 	* src/main/java/de/intevation/flys/collections/OutputParser.java: New.
ingo@346: 	  This parser is used to query the artifact's DESCRIBE and to extract the
ingo@346: 	  supported outputs. The result is a Map<String, Output>.
ingo@346: 
ingo@346: 	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: New.
ingo@346: 	  This writer merges the outputs contained in an attribute of a collection
ingo@346: 	  with the outputs of a collection's artifacts.
ingo@346: 
ingo@346: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@346: 	  The attributes of a collection are written into its DESCRIBE document
ingo@346: 	  now. The OutputParser and AttributeParser are used to read the supported
ingo@346: 	  attributes by the collection and its artifacts - the AttributeWriter is
ingo@346: 	  used to merge both attributes and create a final attribute document.
ingo@346: 
ingo@345: 2011-04-26  Ingo Weinzierl <ingo@intevation.de>
ingo@345: 
ingo@345: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java,
ingo@345: 	  src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
ingo@345: 	  The facet-2-theme mappings are initialized at startup and stored in the
ingo@345: 	  FLYSContext.
ingo@345: 
ingo@345: 	* src/main/java/de/intevation/flys/themes/ThemeFactory.java: Added a
ingo@345: 	  function that retrieves a theme from FLYSContext based on its name.
ingo@345: 
sascha@344: 2011-04-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@344: 
sascha@344: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@344: 	  Corrected a silly c&p mistake.
sascha@344: 
sascha@343: 2011-04-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@343: 
sascha@343: 	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:
sascha@343: 
sascha@343: 	  Implementation of the "Ruecksprungkorrektur" to be done in
sascha@343: 	  "W fuer angepassten Abflusslaengschnitt".
sascha@343: 
sascha@343: 	  All tests show the expected results. In some corner cases the
sascha@343: 	  algorithm described in the "Anwenderhandbuch" chapter 3.3.4.3 "Korrektur"
sascha@343: 	  has some definition shortcomings:
sascha@343: 
sascha@343: 	  a - What should happend when you cannot find point 2 because
sascha@343: 	      you cannot step back one quarter from point 3 because there
sascha@344: 	      is no data there any more (river too short in this direction)?
sascha@344: 	      The implemented algorithm raises point 3' only to an
sascha@344: 	      according factor. E.g. If you can step back the whole quarter
sascha@344: 	      distance the elevation is the full quarter. If you can
sascha@344: 	      step back only the half of the quarter the elevation is
sascha@344: 	      only an eighth.
sascha@343: 
sascha@343: 	  b - If the water heights between point 2 and 3 are constant then
sascha@343: 	      the algorithm will produce a spline interpolation that
sascha@344: 	      lowers those values. Is this intended?
sascha@343: 
sascha@343: 	  For real data the back jumps are expected to be more in the middle
sascha@343: 	  of the distance ranges so the corner cases are maybe not so
sascha@343: 	  important.
sascha@343: 
sascha@343: 	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java:
sascha@343: 	  Removed superfluous import.
sascha@343: 
ingo@342: 2011-04-21  Ingo Weinzierl <ingo@intevation.de>
ingo@342: 
ingo@342: 	* src/main/java/de/intevation/flys/themes/ThemeFactory.java: Removed debug
ingo@342: 	  code that has been commited by accident.
ingo@342: 
ingo@341: 2011-04-21  Ingo Weinzierl <ingo@intevation.de>
ingo@341: 
ingo@341: 	* doc/conf/themes.xml: New. A first small theme configuration.
ingo@341: 
ingo@341: 	* doc/conf/conf.xml: Added a link to the theme configuration.
ingo@341: 
ingo@341: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java:
ingo@341: 	  Defined a key that is used to store a themes map in the FLYSContext.
ingo@341: 
ingo@341: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
ingo@341: 	  The theme configuration is read at startup and the themes are stores in
ingo@341: 	  the FLYSContext.
ingo@341: 
ingo@340: 2011-04-21  Ingo Weinzierl <ingo@intevation.de>
ingo@340: 
ingo@340: 	* src/main/java/de/intevation/flys/themes/Theme.java,
ingo@340: 	  src/main/java/de/intevation/flys/themes/DefaultTheme.java:
ingo@340: 	  New. The interface and its default implementation that represents themes
ingo@340: 	  used to style charts and maps.
ingo@340: 
ingo@340: 	* src/main/java/de/intevation/flys/themes/ThemeField.java,
ingo@340: 	  src/main/java/de/intevation/flys/themes/DefaultThemeField.java:
ingo@340: 	  New. The interface and its default implementation that represents fields
ingo@340: 	  in themes. A theme might be "Lines" and one of its field might be
ingo@340: 	  "Color" or "Size".
ingo@340: 
ingo@340: 	* src/main/java/de/intevation/flys/themes/ThemeFactory.java: A factory
ingo@340: 	  that creates new themes based on a theme configuration.
ingo@340: 
sascha@339: 2011-04-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@339: 
sascha@339: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@339: 	  Implementation of "Abflusskurve/Abflusstafel" calculation.
sascha@339: 
sascha@339: 	  Added method interpolateWQ() which takes an km and results in a
sascha@339: 	  tuple of two double arrays containing the w/q values interpolated
sascha@339: 	  between the surrounding w/q values of the table.
sascha@339: 	  w values are interpolated linear, q values with a cubic spline.
sascha@339: 
sascha@339: 	  Drawing w over q gives you the discharge table at the given km.
sascha@339: 
sascha@339: 	  !!! This code needs testing !!!
sascha@339: 
sascha@338: 2011-04-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@338: 
sascha@338: 	* pom.xml: Added dependency to Apache Commons Math 2.2 (Apache License 2.0)
sascha@338: 
sascha@337: 2011-04-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@337: 
sascha@337: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
sascha@337: 	  Fix problem when sorting by q (copied w instead of q).
sascha@337: 
ingo@336: 2011-04-20  Ingo Weinzierl <ingo@intevation.de>
ingo@336: 
ingo@336: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
ingo@336: 	  Fixed broken HQL statement.
ingo@336: 
sascha@335: 2011-04-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@335: 
sascha@335: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@339: 	  add a method interpolateW() which takes an array of
sascha@335: 	  q values and returns an equal sized array of w values.
sascha@335: 	  This is essentially the "Wasserstand/Wasserspiegellagen" calculation
sascha@335: 	  of desktop FLYS.
sascha@335: 
sascha@335: 	  If you want to do a calculation with given w values you have
sascha@335: 	  to convert the w values with DischargeTables.getQForW() first.
sascha@335: 
sascha@335: 	  !!! This code needs heavy testing !!!
sascha@335: 
sascha@334: 2011-04-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@334: 
sascha@334: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
sascha@334: 	  We need a getQForW() method and not getWForQ() because when
sascha@334: 	  doing a "Wasserstand/Wasserspiegellagen" calculation with given
sascha@334: 	  w values these values need to be translated to q values with
sascha@334: 	  the master discharge table.
sascha@334: 
sascha@333: 2011-04-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@333: 
sascha@333: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
sascha@333: 	  Sorting of q values was done wrong.
sascha@333: 
ingo@332: 2011-04-19  Ingo Weinzierl <ingo@intevation.de>
ingo@332: 
ingo@332: 	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java:
ingo@332: 	  Ordered the list of annotations returned by this factory based on its
ingo@332: 	  range.
ingo@332: 
ingo@331: 2011-04-19  Ingo Weinzierl <ingo@intevation.de>
ingo@331: 
ingo@331: 	* src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java:
ingo@331: 	  New. This service returns an XML document that includes the main values
ingo@331: 	  of a gauge based on a river name, a start and an end point.
ingo@331: 
ingo@331: 	* doc/conf/conf.xml: Registered the MainValuesService.
ingo@331: 
ingo@330: 2011-04-19  Ingo Weinzierl <ingo@intevation.de>
ingo@330: 
ingo@330: 	* src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java:
ingo@330: 	  A factory that provides methods to return MainValues.
ingo@330: 
sascha@329: 2011-04-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@329: 
sascha@329: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
sascha@329: 	  Added static method getWForQ() to interpolate a w value for
sascha@329: 	  a given q value based on a given discharge table.
sascha@329: 	
sascha@328: 2011-04-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@328: 
sascha@328: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
sascha@328: 	  Added convenience constructors/methods to ease the access to the master
sascha@328: 	  discharge table of a gauge.
sascha@328: 
sascha@327: 2011-04-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@327: 
sascha@327: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@327: 	  Moved the query complexity into view 'wst_value_table' and
sascha@327: 	  used this instead.
sascha@327: 
sascha@326: 2011-04-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@326: 
sascha@326: 	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
sascha@326: 	  Fetches w/q value tables from the backend. TODO: Move this
sascha@326: 	  to the backend and use a view.
sascha@326: 
ingo@325: 2011-04-18  Ingo Weinzierl <ingo@intevation.de>
ingo@325: 
ingo@325: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed
ingo@325: 	  the error key that is thrown if no input data was found so that the key
ingo@325: 	  is usable for GWT's i18n mechanism.
ingo@325: 
ingo@324: 2011-04-18  Ingo Weinzierl <ingo@intevation.de>
ingo@324: 
ingo@324: 	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java:
ingo@324: 	  The inserted river is validated now (overrides validate() of
ingo@324: 	  DefaultState).
ingo@324: 
ingo@323: 2011-04-18  Ingo Weinzierl <ingo@intevation.de>
ingo@323: 
ingo@323: 	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
ingo@323: 	  The inserted calculation method is validated now (overrides validate()
ingo@323: 	  of DefaultState).
ingo@323: 
ingo@322: 2011-04-18  Ingo Weinzierl <ingo@intevation.de>
ingo@322: 
ingo@322: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
ingo@322: 	  The input data of feed() are validated using the DefaultStates
ingo@322: 	  validate() method.
ingo@322: 
ingo@322: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@322: 	  New method validate() that needs to be overidden by concrete subclasses.
ingo@322: 	  It should return true, if the data of the State is fine, otherwise it
ingo@322: 	  should raise an exception.
ingo@322: 
ingo@322: 	  NOTE: The exceptions are not translated in the server but in the client!
ingo@322: 
ingo@322: 	* src/main/java/de/intevation/flys/artifacts/states/RangeState.java: New.
ingo@322: 	  This abstract class exists to provide some methods for handling ranges.
ingo@322: 	  Currently, there is a method that validates a given range based on
ingo@322: 	  min/max values.
ingo@322: 
ingo@322: 	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
ingo@322: 	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
ingo@322: 	  Implemented input data validation for ranges.
ingo@322: 
ingo@322: 	  NOTE: The input validation of concrete values has not been implemented
ingo@322: 	  yet!
ingo@322: 
ingo@321: 2011-04-18  Ingo Weinzierl <ingo@intevation.de>
ingo@321: 
ingo@321: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
ingo@321: 	  Removed debug code that has been commited by accident :-/
ingo@321: 
ingo@320: 2011-04-18  Ingo Weinzierl <ingo@intevation.de>
ingo@320: 
ingo@320: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The
ingo@320: 	  getGauge() method returns the first gauge based on the given start and
ingo@320: 	  end point of the river.
ingo@320: 
ingo@320: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
ingo@320: 	  Fixed potential bugs: if no gauge could be determined, the default
ingo@320: 	  values for W and Q are the minimum and maximum double values.
ingo@320: 
ingo@319: 2011-04-15  Ingo Weinzierl <ingo@intevation.de>
ingo@319: 
ingo@319: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Fills
ingo@319: 	  the DESCRIBE with default values for W and Q.
ingo@319: 
ingo@318: 2011-04-15  Ingo Weinzierl <ingo@intevation.de>
ingo@318: 
ingo@318: 	* src/main/java/de/intevation/flys/artifacts/model/WstFactory.java:
ingo@318: 	  New. Returns Wst object - based on a river.
ingo@318: 
ingo@317: 2011-04-15  Ingo Weinzierl <ingo@intevation.de>
ingo@317: 
ingo@317: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Now
ingo@317: 	  provides some methods that return some basic objects inserted while
ingo@317: 	  parameterization: River, Gauge and so on.
ingo@317: 
ingo@316: 2011-04-15  Ingo Weinzierl <ingo@intevation.de>
ingo@316: 
ingo@316: 	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java,
ingo@316: 	  src/main/java/de/intevation/flys/artifacts/services/RiverService.java:
ingo@316: 	  Bugfix: Repaired broken imports of the SessionHolder.
ingo@316: 
ingo@315: 2011-04-15  Ingo Weinzierl <ingo@intevation.de>
ingo@315: 
ingo@315: 	* src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java:
ingo@315: 	  Moved this class to flys-backend.
ingo@315: 
ingo@315: 	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java,
ingo@315: 	  src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java,
ingo@315: 	  src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java,
ingo@315: 	  src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java,
ingo@315: 	  src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java:
ingo@315: 	  Adapted imports of the SessionHolder.
ingo@315: 
sascha@314: 2011-04-14	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@314: 
sascha@314: 	* trunk/src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java,
sascha@314: 	  trunk/src/main/java/de/intevation/flys/artifacts/services/RiverService.java:
sascha@314: 	  Acquire/release sessions in services to avoid db connection leaks.
sascha@314: 
ingo@313: 2011-04-14  Ingo Weinzierl <ingo@intevation.de>
ingo@313: 
ingo@313: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@313: 	  Changed some method signatures - added a reference to the owner
ingo@313: 	  Artifact.
ingo@313: 
ingo@313: 	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java,
ingo@313: 	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java,
ingo@313: 	  src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
ingo@313: 	  Modified method signatures based on the changes in DefaultState.
ingo@313: 
ingo@313: 	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
ingo@313: 	  Added default values to the dynamic part of DESCRIBE.
ingo@313: 
ingo@312: 2011-04-14  Ingo Weinzierl <ingo@intevation.de>
ingo@312: 
ingo@312: 	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java:
ingo@312: 	  Added a function that returns a River object based on a given river
ingo@312: 	  name.
ingo@312: 
sascha@311: 2011-04-14	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@311: 
sascha@311: 	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java,
sascha@311: 	  src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java,
sascha@311: 	  src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java,
sascha@311: 	  src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java:
sascha@311: 	  Static methods are using the SessionHolder, too.
sascha@311: 
ingo@310: 2011-04-14  Ingo Weinzierl <ingo@intevation.de>
ingo@310: 
ingo@310: 	* src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java:
ingo@310: 	  Added the setup() method that has been added to the interface
ingo@310: 	  description in the last commits.
ingo@310: 
ingo@310: 	* doc/conf/conf.xml: Registered the SessionCallContextListener as
ingo@310: 	  CallContext.Listener.
ingo@310: 
ingo@309: 2011-04-14  Ingo Weinzierl <ingo@intevation.de>
ingo@309: 
ingo@309: 	* src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java:
ingo@309: 	  Bugfix: Call correct method to retrieve an instance of
ingo@309: 	  SessionFactoryProvider.
ingo@309: 
sascha@308: 2011-04-14	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@308: 
sascha@308: 	* src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java:
sascha@308: 	  New. Contains thread local session holder for hibernate sessions.
sascha@311: 
sascha@308: 	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java:
sascha@308: 	  Uses session from SessionHolder.
sascha@308: 
sascha@308: 	* src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java:
sascha@308: 	  Interacts with SessionHolder now.
sascha@308: 	
sascha@308: 	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java:
sascha@308: 	  Removed superfluous import.
sascha@308: 	
ingo@307: 2011-04-14  Ingo Weinzierl <ingo@intevation.de>
ingo@307: 
ingo@307: 	* src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java:
ingo@307: 	  Implementation of a CallContext.Listener to open/close Hibernate
ingo@307: 	  Sessions for each request.
ingo@307: 
ingo@306: 2011-04-14  Ingo Weinzierl <ingo@intevation.de>
ingo@306: 
ingo@306: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
ingo@306: 	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@306: 	  Some modifications related to the last commit - modification of the
ingo@306: 	  describe() signature of a State.
ingo@306: 
ingo@305: 2011-04-14  Ingo Weinzierl <ingo@intevation.de>
ingo@305: 
ingo@305: 	* src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java:
ingo@305: 	  Removed. We do not need a state to select a gauge - the selection takes
ingo@305: 	  place by choosing a start and an end point.
ingo@305: 
ingo@304: 2011-04-13  Ingo Weinzierl <ingo@intevation.de>
ingo@304: 
ingo@304: 	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java:
ingo@304: 	  Bugfix: added missing label node to root node and a namespace to the
ingo@304: 	  data node.
ingo@304: 
ingo@303: 2011-04-12  Ingo Weinzierl <ingo@intevation.de>
ingo@303: 
ingo@303: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
ingo@303: 	  The name of the artifact 'winfo' is written into the DESCRIBE document
ingo@303: 	  now. We need this to have a proper way to distinguish between different
ingo@303: 	  artifacts in the UI.
ingo@303: 
ingo@302: 2011-04-12  Ingo Weinzierl <ingo@intevation.de>
ingo@302: 
ingo@302: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Bugfix:
ingo@302: 	  States are filled with data before they describe themself.
ingo@302: 
ingo@301: 2011-04-11  Ingo Weinzierl <ingo@intevation.de>
ingo@301: 
ingo@301: 	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java:
ingo@301: 	  New. A factory that returns the annotations of a specific river.
ingo@301: 
ingo@301: 	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java:
ingo@301: 	  New. This service provides a document that contains information about
ingo@301: 	  distances of a river.
ingo@301: 
ingo@301: 	* doc/conf/conf.xml: Registered the DistanceInfoService.
ingo@301: 
ingo@300: 2011-04-06  Ingo Weinzierl <ingo@intevation.de>
ingo@300: 
ingo@300: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@300: 	  This collection overrides the out() operation now. The incoming request
ingo@300: 	  document is read and the related OutGenerator is used to create the
ingo@300: 	  output.
ingo@300: 
ingo@300: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed
ingo@300: 	  the code to create discharge curves. It has moved to the
ingo@300: 	  DischargeCurveGenerator which now does this work.
ingo@300: 
ingo@299: 2011-04-06  Ingo Weinzierl <ingo@intevation.de>
ingo@299: 
ingo@299: 	* src/main/java/de/intevation/flys/exports/OutGenerator.java: The
ingo@299: 	  generate() method throws an IOException now.
ingo@299: 
ingo@299: 	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
ingo@299: 	  New. This OutGenerator creates discharge curves.
ingo@299: 
ingo@298: 2011-04-06  Ingo Weinzierl <ingo@intevation.de>
ingo@298: 
ingo@298: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed
ingo@298: 	  the visibility of the getData() method. It's now public, because the
ingo@298: 	  OutGenerator needs an artifact's data.
ingo@298: 
sascha@297: 2011-04-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@297: 
sascha@297: 	* src/**/*.java: Removed trailing whitespace.
sascha@297: 
sascha@296: 2011-04-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@296: 
sascha@296: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
sascha@296: 	  Make project compilable again by
sascha@296: 	  commenting out a not existing XMLDebug reference.
sascha@296: 
ingo@295: 2011-03-31  Ingo Weinzierl <ingo@intevation.de>
ingo@295: 
ingo@295: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
ingo@295: 	  Added code to parse the configured OutGenerators and to save them (in a
ingo@295: 	  map) in the FLYSContext.
ingo@295: 
ingo@295: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java:
ingo@295: 	  Added a key that is used to save the OutGenerators Map in the context.
ingo@295: 
ingo@294: 2011-03-31  Ingo Weinzierl <ingo@intevation.de>
ingo@294: 
ingo@294: 	* src/main/java/de/intevation/flys/exports/OutGenerator.java:
ingo@294: 	  New. This interface is used to generator different types of output.
ingo@294: 	  ArtifactCollections will make use of this interface to create a
ingo@294: 	  collected output of all its artifacts.
ingo@294: 
ingo@293: 2011-03-30  Ingo Weinzierl <ingo@intevation.de>
ingo@293: 
ingo@293: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@293: 	  Removed the Backend from FLYSArtifactCollection - used ArtifactDatabase
ingo@293: 	  operations instead.
ingo@293: 
ingo@293: 	* TODO: Removed 'remove Backend reference' TODO.
ingo@293: 
ingo@292: 2011-03-30  Ingo Weinzierl <ingo@intevation.de>
ingo@292: 
ingo@292: 	* doc/conf/artifacts/winfo.xml: Enhanced the configuration of the
ingo@292: 	  discharge curve output mode. This output now provides three facets - W,
ingo@292: 	  Q and the curve itself.
ingo@292: 
ingo@291: 2011-03-30  Ingo Weinzierl <ingo@intevation.de>
ingo@291: 
ingo@291: 	Tagged RELEASE 0.1
ingo@291: 
ingo@159: 2011-03-30  Ingo Weinzierl <ingo@intevation.de>
ingo@159: 
ingo@159: 	* doc/conf/artifacts/winfo.xml: Renamed an output mode in the WINFO
ingo@159: 	  artifact configuration.
ingo@159: 
ingo@158: 2011-03-29  Ingo Weinzierl <ingo@intevation.de>
ingo@158: 
ingo@158: 	* src/main/resources/messages_de_DE.properties,
ingo@158: 	  src/main/resources/messages_de.properties: Changed a german string.
ingo@158: 
ingo@157: 2011-03-29  Ingo Weinzierl <ingo@intevation.de>
ingo@157: 
ingo@157: 	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
ingo@157: 	  Modified the available calculation modes and its order in the DESCRIBE
ingo@157: 	  document.
ingo@157: 
ingo@157: 	* src/main/resources/messages.properties,
ingo@157: 	  src/main/resources/messages_de_DE.properties,
ingo@157: 	  src/main/resources/messages_en.properties,
ingo@157: 	  src/main/resources/messages_de.properties: Adapted the names of
ingo@157: 	  calculation modes.
ingo@157: 
ingo@156: 2011-03-28  Ingo Weinzierl <ingo@intevation.de>
ingo@156: 
ingo@156: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@156: 	  Added the hash code of an artifact to the artifact part of the
ingo@156: 	  collection's DESCRIBE document.
ingo@156: 
ingo@155: 2011-03-28  Ingo Weinzierl <ingo@intevation.de>
ingo@155: 
ingo@155: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Changed
ingo@155: 	  the background color of discharge curves to white.
ingo@155: 
sascha@154: 2011-03-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@154: 
sascha@154: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
sascha@154: 	  Cache the scale, too. Otherwise two calls to getValues() with
sascha@154: 	  different arguments will result in the same output.
sascha@154: 
ingo@153: 2011-03-28  Ingo Weinzierl <ingo@intevation.de>
ingo@153: 
ingo@153: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
ingo@153: 	  Introduced a 'scale' parameter in the getValues() method.
ingo@153: 
ingo@153: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Filled
ingo@153: 	  the out() operation with code that draws a discharge table of one or
ingo@153: 	  more gauges specified by the given range in entered in a previous state.
ingo@153: 
ingo@152: 2011-03-28  Ingo Weinzierl <ingo@intevation.de>
ingo@152: 
ingo@152: 	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java:
ingo@152: 	  New. A helper class to exports charts.
ingo@152: 
ingo@152: 	* pom.xml: Added dependencies to iText, Batik and JFreeChart.
ingo@152: 
sascha@151: 2011-03-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@151: 
sascha@154: 	* src/main/java/de/intevation/flys/importer/PegelGltParser.java:
sascha@154: 	  Fixed swap of operands.
sascha@154: 
sascha@154: 2011-03-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@154: 
sascha@151: 	* src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java:
sascha@151: 	  New. Load gauges for a river and filter them for given
sascha@151: 	  ranges.
sascha@151: 
sascha@150: 2011-03-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@150: 
sascha@150: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
sascha@150: 	  Store data in a double [][] instead of interleaved double []
sascha@150: 	  to be compatible with org.jfree.data.xy.DefaultXYDataset.
sascha@150: 
ingo@149: 2011-03-25  Ingo Weinzierl <ingo@intevation.de>
ingo@149: 
ingo@149: 	* TODO: Removed 'i18n' and 'step-back' TODOs and added an issue to remove
ingo@149: 	  the Backend reference from FLYSArtifactCollection.
ingo@149: 
ingo@148: 2011-03-25  Ingo Weinzierl <ingo@intevation.de>
ingo@148: 
ingo@148: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@148: 	  Added missing artifact namespace of an attribute in the DESCRIBE
ingo@148: 	  document.
ingo@148: 
ingo@147: 2011-03-24  Ingo Weinzierl <ingo@intevation.de>
ingo@147: 
ingo@147: 	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
ingo@147: 	  New. This ArtifactCollection overrides the DefaultArtifactCollection to
ingo@147: 	  implement FLYS specific describe() and out() operations.
ingo@147: 
ingo@147: 	* doc/conf/conf.xml: Use the FLYSArtifactCollection instead of the
ingo@147: 	  DefaultArtifactCollection for this application.
ingo@147: 
sascha@146: 2011-03-24	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@146: 
sascha@146: 	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
sascha@146: 	  New. Fetches values of discharge tables in form of packed
sascha@146: 	  w/q double arrays for given gauges.
sascha@146: 
sascha@146: 	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java:
sascha@146: 	  Removed needless import.
sascha@146: 
ingo@145: 2011-03-24  Ingo Weinzierl <ingo@intevation.de>
ingo@145: 
ingo@145: 	* src/main/resources/messages_de_DE.properties: Added a german resource
ingo@145: 	  bundle to avoid exceptions in the flys artifacts. Sometimes, the
ingo@145: 	  Resources class is not able to find a 'de_DE' bundle and throws an
ingo@145: 	  exception. This is really strange, because it should use the 'de' bundle
ingo@145: 	  in that case, but it doesn't.
ingo@145: 
ingo@144: 2011-03-23  Ingo Weinzierl <ingo@intevation.de>
ingo@144: 
ingo@144: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added
ingo@144: 	  some code to append the output modes of previous states to the DESCRIBE
ingo@144: 	  document.
ingo@144: 
ingo@144: 	  TODO: Determine if the current state is already filled with data and
ingo@144: 	  append its output modes as well!
ingo@144: 
ingo@143: 2011-03-22  Ingo Weinzierl <ingo@intevation.de>
ingo@143: 
ingo@143: 	* doc/conf/artifacts/winfo.xml: Enhanced the location_distance state with
ingo@143: 	  an output mode 'discharge_table'.
ingo@143: 
ingo@142: 2011-03-21  Ingo Weinzierl <ingo@intevation.de>
ingo@142: 
ingo@142: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@142: 	  Write human readable strings as label attribute into the DESCRIBE
ingo@142: 	  output. Those labels are used to be displayed in the GUI.
ingo@142: 
ingo@141: 2011-03-21  Ingo Weinzierl <ingo@intevation.de>
ingo@141: 
ingo@141: 	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
ingo@141: 	  Added some further calculation types.
ingo@141: 
ingo@141: 	* src/main/resources/messages.properties,
ingo@141: 	  src/main/resources/messages_en.properties,
ingo@141: 	  src/main/resources/messages_de.properties: Added i18n strings for the
ingo@141: 	  calculation types
ingo@141: 
ingo@140: 2011-03-21  Ingo Weinzierl <ingo@intevation.de>
ingo@140: 
ingo@140: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
ingo@140: 	  Implemented the step-back part of the advance() operation.
ingo@140: 
ingo@139: 2011-03-21  Ingo Weinzierl <ingo@intevation.de>
ingo@139: 
ingo@139: 	* src/main/resources/messages_de.properties: Fixed a german umlaut.
ingo@139: 
ingo@138: 2011-03-18  Ingo Weinzierl <ingo@intevation.de>
ingo@138: 
ingo@138: 	* doc/conf/artifacts/winfo.xml: Added new states for entering a
ingo@138: 	  location/distance and w/q.
ingo@138: 
ingo@138: 	* src/main/resources/messages.properties,
ingo@138: 	  src/main/resources/messages_en.properties,
ingo@138: 	  src/main/resources/messages_de.properties: New string for the
ingo@138: 	  location/distance and w/q input states.
ingo@138: 
ingo@137: 2011-03-18  Ingo Weinzierl <ingo@intevation.de>
ingo@137: 
ingo@137: 	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
ingo@137: 	  New. A state for the W/Q input of the WINFO parameterization.
ingo@137: 
ingo@136: 2011-03-18  Ingo Weinzierl <ingo@intevation.de>
ingo@136: 
ingo@136: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@136: 	  Append an attribute 'uiprovider' to the dynamic UI node.
ingo@136: 
ingo@136: 	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
ingo@136: 	  New. A state for the location/distance selection of the WINFO
ingo@136: 	  parameterization.
ingo@136: 
ingo@135: 2011-03-17  Ingo Weinzierl <ingo@intevation.de>
ingo@135: 
ingo@135: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@135: 	  Added a new method getUIProvider() that might be overriden by concreted
ingo@135: 	  subclasses that should be rendered with a specific UIProvider.
ingo@135: 
ingo@134: 2011-03-17  Ingo Weinzierl <ingo@intevation.de>
ingo@134: 
ingo@134: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
ingo@134: 	  The static UI part is created by the previous states now. This makes it
ingo@134: 	  possible to group the data objects (which is necessary to group the
ingo@134: 	  objects in the ui).
ingo@134: 
ingo@134: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@134: 	  Added a describeStatic() method that creates a node that contains the
ingo@134: 	  data of that state.
ingo@134: 
ingo@133: 2011-03-17  Ingo Weinzierl <ingo@intevation.de>
ingo@133: 
ingo@133: 	* src/main/java/de/intevation/flys/artifacts/services/RiverService.java:
ingo@133: 	  Removed TODO: the document contains the rivers provided by the backend
ingo@133: 	  now.
ingo@133: 
sascha@132: 2011-03-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@132: 
sascha@132: 	* pom.xml: Added dependency to flys backend.
sascha@132: 
sascha@132: 	* src/main/java/de/intevation/flys/artifacts/model/River.java:
sascha@132: 	  Removed. We are using the backend model now.
sascha@132: 
sascha@132: 	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java:
sascha@132: 	  Fetches the rivers from the backend.
sascha@132: 
sascha@132: 	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java:
sascha@132: 	  Import fixes.
sascha@132: 
sascha@131: 2011-03-15	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@131: 
sascha@131: 	* doc/conf/conf.xml: Added section for database backend configuration.
sascha@131: 
sascha@130: 2011-03-15	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@130: 
sascha@130: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
sascha@130: 	  Fixed build error coming from different import of XMLUtils.
sascha@130: 
ingo@129: 2011-03-14  Ingo Weinzierl <ingo@intevation.de>
ingo@129: 
ingo@129: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@129: 	  Appended the missing label node that contains the human readable name of
ingo@129: 	  the data item.
ingo@129: 
ingo@128: 2011-03-14  Ingo Weinzierl <ingo@intevation.de>
ingo@128: 
ingo@128: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
ingo@128: 	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@128: 	  I18N of strings for the DESCRIBE document.
ingo@128: 
ingo@128: 	* src/main/resources/messages.properties,
ingo@128: 	  src/main/resources/messages_en.properties,
ingo@128: 	  src/main/resources/messages_de.properties: I18N strings for the
ingo@128: 	  calculcation mode state.
ingo@128: 
ingo@127: 2011-03-14  Ingo Weinzierl <ingo@intevation.de>
ingo@127: 
ingo@127: 	* doc/conf/artifacts/winfo.xml: Modified the winfo states.
ingo@127: 
ingo@127: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Adapted
ingo@127: 	  the artifact regarding the changes of the last commit. The states
ingo@127: 	  describe() method creates the dynamic UI node - the artifact needs to
ingo@127: 	  apply this node.
ingo@127: 
ingo@127: 	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
ingo@127: 	  New. The state for choosing the calculation mode.
ingo@127: 
ingo@127: 	* src/main/resources/messages.properties,
ingo@127: 	  src/main/resources/messages_en.properties,
ingo@127: 	  src/main/resources/messages_de.properties: Added i18n strings for the
ingo@127: 	  calculation mode state.
ingo@127: 
ingo@126: 2011-03-14  Ingo Weinzierl <ingo@intevation.de>
ingo@126: 
ingo@126: 	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
ingo@126: 	  New. This is the base state for the FLYS application. It provides a
ingo@126: 	  method that creates the dynamic ui node for the DESCRIBE.
ingo@126: 
ingo@126: 	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java,
ingo@126: 	  src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: Both
ingo@126: 	  classes extend the abstract base class DefaultState.
ingo@126: 
ingo@125: 2011-03-14  Ingo Weinzierl <ingo@intevation.de>
ingo@125: 
ingo@125: 	* src/main/java/de/intevation/flys/artifacts/resources/Resources.java:
ingo@125: 	  New. This class retrieves the i18n strings from a ResourceBundle.
ingo@125: 
ingo@125: 	* src/main/resources/messages.properties,
ingo@125: 	  src/main/resources/messages_en.properties,
ingo@125: 	  src/main/resources/messages_de.properties: Resource files for german and
ingo@125: 	  english translation.
ingo@125: 
ingo@124: 2011-03-10  Ingo Weinzierl <ingo@intevation.de>
ingo@124: 
ingo@124: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Appended
ingo@124: 	  the data that have been inserted in former states into the static node
ingo@124: 	  of the DESCRIBE.
ingo@124: 
ingo@123: 2011-03-10  Ingo Weinzierl <ingo@intevation.de>
ingo@123: 
ingo@123: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The
ingo@123: 	  operations feed() and advance() return the description of the artifact
ingo@123: 	  using the describe() operation. This avoids additional server round trips
ingo@123: 	  in the client - the clients gets to know about the new state of the
ingo@123: 	  artifact immediately.
ingo@123: 
ingo@122: 2011-03-10  Ingo Weinzierl <ingo@intevation.de>
ingo@122: 
ingo@122: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
ingo@122: 	  Implemented a part (step forward) of the advance operation.
ingo@122: 
ingo@122: 	* TODO: Implement Step-Back in advance operation.
ingo@122: 
ingo@121: 2011-03-09  Ingo Weinzierl <ingo@intevation.de>
ingo@121: 
ingo@121: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
ingo@121: 	  Implemented the abstract method getName(). It returns the constant
ingo@121: 	  'winfo' string.
ingo@121: 
ingo@121: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
ingo@121: 	  Implemented the feed action. The data of an incoming feed() operation is
ingo@121: 	  stored in StateData objects that are saved in a map in the artifact.
ingo@121: 
ingo@121: 	  NOTE: There is no input validation and no i18n of error messages (see
ingo@121: 	  TODO).
ingo@121: 
ingo@120: 2011-03-09  Ingo Weinzierl <ingo@intevation.de>
ingo@120: 
ingo@120: 	* TODO: This file contains some open points that need to be done.
ingo@120: 
ingo@119: 2011-03-09  Ingo Weinzierl <ingo@intevation.de>
ingo@119: 
ingo@119: 	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New. This
ingo@119: 	  artifact serves as the default artifact for the FLYS application.
ingo@119: 
ingo@119: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: This
ingo@119: 	  artifact now inherits from FLYSArtifact. Furthermore, there is one big
ingo@119: 	  change: we don't store the State objects itself in the artifact, but
ingo@119: 	  just the identifier of those. This makes the artifact smaller and more
ingo@119: 	  compatible agains previous versions of the software.
ingo@119: 
ingo@118: 2011-03-08  Ingo Weinzierl <ingo@intevation.de>
ingo@118: 
ingo@118: 	* src/main/java/de/intevation/flys/artifacts/services/RiverService.java:
ingo@118: 	  New. This service will retrieve a list of provided rivers.
ingo@118: 
ingo@118: 	* doc/conf/conf.xml: Added a configuration for the RiverService.
ingo@118: 
ingo@117: 2011-03-07  Ingo Weinzierl <ingo@intevation.de>
ingo@117: 
ingo@117: 	* doc/conf/conf.xml: Added a section user-factory and collection-factory in
ingo@117: 	  the factories part of the configuration.
ingo@117: 
ingo@116: 2011-03-01  Ingo Weinzierl <ingo@intevation.de>
ingo@116: 
ingo@116: 	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java:
ingo@116: 	  Replaced the 'special' attribute from DESCRIBE with a 'uiprovider'
ingo@116: 	  attribute.
ingo@116: 
ingo@115: 2011-02-08  Ingo Weinzierl <ingo@intevation.de>
ingo@115: 
ingo@115: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The
ingo@115: 	  RiverSelect state is called to create the UI part of the describe
ingo@115: 	  document.
ingo@115: 
ingo@115: 	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java:
ingo@115: 	  Implemented the dynamic UI part of describe(). The static part is not
ingo@115: 	  inserted into the describe document at the moment. We need a reference to
ingo@115: 	  the previous states for this.
ingo@115: 
ingo@114: 2011-02-08  Ingo Weinzierl <ingo@intevation.de>
ingo@114: 
ingo@114: 	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java,
ingo@114: 	  src/main/java/de/intevation/flys/artifacts/model/River.java: New. A model
ingo@114: 	  class that represents a river and its factory to create concrete river
ingo@114: 	  instances.
ingo@114: 	  NOTE: Currently, this is just a mockup. The factory just returns two
ingo@114: 	  static rivers "Mosel" and "Saar" without a connection to a backend.
ingo@114: 
ingo@113: 2011-02-07  Ingo Weinzierl <ingo@intevation.de>
ingo@113: 
ingo@113: 	* src/main/java/de/intevation/flys/artifacts/states/StateFactory.java: The
ingo@113: 	  input data of a state is initialized with empty StateData objects after
ingo@113: 	  the State has been created.
ingo@113: 
ingo@113: 	* doc/conf/artifacts/winfo.xml: Renamed the input data nodes of the states
ingo@113: 	  which now fits better to the class name of the implementation.
ingo@113: 
ingo@112: 2011-02-07  Ingo Weinzierl <ingo@intevation.de>
ingo@112: 
ingo@112: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The
ingo@112: 	  describe document returned by this artifact now contains the current state
ingo@112: 	  and the reachable states.
ingo@112: 
ingo@111: 2011-02-07  Ingo Weinzierl <ingo@intevation.de>
ingo@111: 
ingo@111: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
ingo@111: 	  The transitions are put into the TransitionEngine with the ID of the state
ingo@111: 	  - not longer with the artifact name. On this way, we are able to fetch
ingo@111: 	  just the transitions for a specific state, instead of all the transitions
ingo@111: 	  of an artifact.
ingo@111: 
ingo@110: 2011-02-04  Ingo Weinzierl <ingo@intevation.de>
ingo@110: 
ingo@110: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Describe()
ingo@110: 	  returns the artifact's uuid and hash value. The whole implementation of
ingo@110: 	  describe() is still outstanding.
ingo@110: 
ingo@109: 2011-02-04  Ingo Weinzierl <ingo@intevation.de>
ingo@109: 
ingo@109: 	* doc/conf/artifacts/winfo.xml: Removed useless config stuff.
ingo@109: 
ingo@109: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed
ingo@109: 	  useless methods, and improved the init process - the first state is set as
ingo@109: 	  the current state for this artifact.
ingo@109: 
ingo@109: 	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java,
ingo@109: 	  src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: New.
ingo@109: 	  The states are used in the first two steps of the WINFOArtifact.
ingo@109: 	  Currently, they just implement stubs of the necessary methods setup() and
ingo@109: 	  describe().
ingo@109: 
ingo@107: 2011-02-04  Ingo Weinzierl <ingo@intevation.de>
ingo@107: 
ingo@107: 	* src/main/java/de/intevation/flys/artifacts/states/State.java,
ingo@107: 	  src/main/java/de/intevation/flys/artifacts/transitions/TransitionEngine.java,
ingo@107: 	  src/main/java/de/intevation/flys/artifacts/transitions/Transition.java:
ingo@107: 	  Removed. These classes are placed in the artifact-database now.
ingo@107: 
ingo@107: 	* src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java,
ingo@107: 	  src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java:
ingo@107: 	  Adapted imports of Transition.
ingo@107: 
ingo@107: 	* src/main/java/de/intevation/flys/artifacts/states/StateFactory.java: New.
ingo@107: 	  This factory should be used to create concrete State objects.
ingo@107: 
ingo@107: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: Added
ingo@107: 	  a constant key to store the StateEngine in the context.
ingo@107: 
ingo@107: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
ingo@107: 	  New method that initializes the states at application start.
ingo@107: 
ingo@106: 2011-02-03  Ingo Weinzierl <ingo@intevation.de>
ingo@106: 
ingo@106: 	* src/main/java/de/intevation/flys/artifacts/states/State.java: New. The
ingo@106: 	  interface description of a state.
ingo@106: 
ingo@106: 	* src/main/java/de/intevation/flys/artifacts/transitions/Transition.java,
ingo@106: 	  src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java:
ingo@106: 	  New. The interface description and a default implementation of a
ingo@106: 	  transition.
ingo@106: 
ingo@106: 	* src/main/java/de/intevation/flys/artifacts/transitions/TransitionEngine.java:
ingo@106: 	  New. The TransitionEngine stores all transitions for each artifact and
ingo@106: 	  should be used to determine, if an artifact can advance from one state to
ingo@106: 	  another.
ingo@106: 
ingo@106: 	* src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java:
ingo@106: 	  New. Transitions should be created by using this class.
ingo@106: 
ingo@106: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: New.
ingo@106: 	  The Flys context. It currently defines keys to store important components
ingo@106: 	  in the context.
ingo@106: 
ingo@106: 	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
ingo@106: 	  New. The context factory initializes the basic components of the
ingo@106: 	  application. Currently, the TransitionEngine is created and all artifacts
ingo@106: 	  with its transitions are read from the global configuration and stored in
ingo@106: 	  the FLYSContext.
ingo@106: 
ingo@106: 	* pom.xml: Added a dependency to the 'artifacts-common' package.
ingo@106: 
ingo@106: 	* doc/conf/artifacts/winfo.xml: Corrected the classname of the
ingo@106: 	  DefaultTransition.
ingo@106: 
ingo@106: 	* doc/conf/conf.xml: Added FLYSContextFactory as context-factory.
ingo@106: 
ingo@105: 2011-02-02  Ingo Weinzierl <ingo@intevation.de>
ingo@105: 
ingo@105: 	* doc/conf/conf.xml: An initial configuration file for the FLYS artifact
ingo@105: 	  server.
ingo@105: 
ingo@105: 	* doc/conf/artifacts/winfo.xml: An initial transition configuration of an
ingo@105: 	  WINFO artifact.
ingo@105: 
ingo@105: 	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: A stub of
ingo@105: 	  an artifact for a WINFO parameterization.
ingo@105: 
ingo@105: 	* pom.xml: Set the source code version to 1.5.
ingo@105: 
sascha@104: 2011-02-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@104: 
sascha@104: 	* src/**, pom.xml: Added initial maven project.
sascha@104: 	* ChangeLog: new.