view flys-backend/ChangeLog @ 502:c6889097f81f

Importer: Fix silly bug and set Hibernate session flushing back to auto. flys-backend/trunk@1856 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 09 May 2011 00:38:13 +0000
parents 04d449f7f0c9
children bcc18293a547
line wrap: on
line source
2011-05-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/importer/ImporterSession.java:
	  Fixed silly bug. Set flush mode back to auto because
	  manual flushing causes some undetermined problems.

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

	* src/main/java/de/intevation/flys/importer/ImporterSession.java:
	  Do not load _all_ values from discharge tables and
	  wst columns. This is extremly slow and will lead
	  to OOM if more rivers are imported. Now only the
	  last 20 columns und discharge tables are cached.

	* src/main/java/de/intevation/flys/importer/ValueKey.java:
	  New. Key for caching discharge table values and wst
	  column values.

	* src/main/java/de/intevation/flys/importer/IdValueKey.java:
	  Fixed bug in equals().

	* src/main/java/de/intevation/flys/importer/ImportWstColumn.java:
	  Removed too eloquent debug output.

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

	* src/main/java/de/intevation/flys/importer/IdValueKey.java:
	  Use BigDecimals as representation for the numeric components
	  which prevents running into unique constraint problems
	  caused by imprecision.

	* src/main/java/de/intevation/flys/importer/ImportRange.java,
	  src/main/java/de/intevation/flys/importer/ImporterSession.java:
	  Ranges are now cached globally, too.

	* src/main/java/de/intevation/flys/importer/ImportWstColumn.java:
	  Improved logging.

	* src/main/java/de/intevation/flys/importer/ImportDischargeTableValue.java:
	  Removed superfluous imports.

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

	* src/main/java/de/intevation/flys/importer/StaFileParser.java:
	  Only accept main value types 'Q', 'W', 'D' and 'T' by default.
	  '-' is not handled any more because it causes too much constraint
	  problems. You can overwrite the imported type with the
	  system property flys.backend.main.value.types" (default "QWTD")
	  
	* src/main/java/de/intevation/flys/importer/ImporterSession.java:
	  Set session flush mode to manual. Hopefully this improves the
	  performance a bit.

	* src/main/java/de/intevation/flys/importer/ImportWst.java,
	  src/main/java/de/intevation/flys/importer/ImportGauge.java,
	  src/main/java/de/intevation/flys/importer/ImportWstColumn.java,
	  src/main/java/de/intevation/flys/importer/ImportRange.java,
	  src/main/java/de/intevation/flys/importer/ImportDischargeTable.java:
	  Improved logging.

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

	* src/main/java/de/intevation/flys/importer/WstColumnValueKey.java: Deleted
	* src/main/java/de/intevation/flys/importer/IdValueKey.java: Reinserted
	  here in a more generalized form.

	* src/main/java/de/intevation/flys/importer/ImporterSession.java:
	  Cache the discharge table value, too.

	* src/main/java/de/intevation/flys/importer/ImportDischargeTableValue.java:
	  Use the global cache.

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

	* src/main/java/de/intevation/flys/importer/ImporterSession.java:
	  New. Centralized caching in the thread local context. Importing
	  the Elbe leads to OOM because the column values of the
	  WST files where loaded separately for every file.

	* src/main/java/de/intevation/flys/importer/ImportPosition.java,
	  src/main/java/de/intevation/flys/importer/Importer.java,
	  src/main/java/de/intevation/flys/importer/ImportAnnotation.java,
	  src/main/java/de/intevation/flys/importer/ImportWstQRange.java,
	  src/main/java/de/intevation/flys/importer/ImportWst.java,
	  src/main/java/de/intevation/flys/importer/ImportMainValue.java,
	  src/main/java/de/intevation/flys/importer/ImportMainValueType.java,
	  src/main/java/de/intevation/flys/importer/ImportNamedMainValue.java,
	  src/main/java/de/intevation/flys/importer/ImportRiver.java,
	  src/main/java/de/intevation/flys/importer/ImportGauge.java,
	  src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java,
	  src/main/java/de/intevation/flys/importer/ImportWstColumnQRange.java,
	  src/main/java/de/intevation/flys/importer/ImportWstColumn.java,
	  src/main/java/de/intevation/flys/importer/ImportRange.java,
	  src/main/java/de/intevation/flys/importer/ImportDischargeTableValue.java,
	  src/main/java/de/intevation/flys/importer/ImportDischargeTable.java,
	  src/main/java/de/intevation/flys/importer/ImportAttribute.java,
	  src/main/java/de/intevation/flys/importer/ImportTimeInterval.java:
	  Adjusted to use the new global context.

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

	* doc/schema/postgresql.sql: Dropped constraint which
	  forces discharge tables to have a unique time interval
	  for a given gauge and kind.

	  There are AT files (historical Mosel/Perl/Perl/1967-1981.at
	  and Mosel/Perl/1967-1981-1.at) which violate this
	  constraint. Its a technical question to the customer
	  how to handle these cases.

	  To adjust existing databases:

	    ALTER TABLE discharge_tables DROP CONSTRAINT discharge_tables_gauge_id_key;

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

	* src/main/java/de/intevation/flys/importer/WstParser.java:
	  There are wst files where column names are not unique.
	  Make them unique by appending (1), (2) and so on.

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

	* src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Import the "HW-Schutzanlagen", too.

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

	Make import of historical discharge tables work.

	* doc/schema/postgresql.sql: Added forgotten column 'description'.

	  !!! You have to drop your database !!!

	* src/main/java/de/intevation/flys/importer/ImportDischargeTable.java:
	  src/main/java/de/intevation/flys/model/DischargeTable.java:
	  Add the forgotten description property.

	* src/main/java/de/intevation/flys/importer/AtFileParser.java:
	  Fixed problems with date recognition.

	* src/main/java/de/intevation/flys/importer/ImportGauge.java:
	  Prefix the description of the historical discharge tables 
	  with "Histor.Abflusstafeln".

	* src/main/java/de/intevation/flys/importer/ImportTimeInterval.java:
	  Fixed silly programming error.

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

	* src/main/java/de/intevation/flys/importer/AtFileParser.java:
	  Inject 'kind' attribute.

	* src/main/java/de/intevation/flys/importer/ImportGauge.java:
	  Traverse the "Histor.Abflusstafeln" for the historical
	  discharge tables. too. TODO: Store them in the database.

	* src/main/java/de/intevation/flys/importer/ImportDischargeTable.java:
	  Added convinience constructor to set the kind of the
	  discharge table.
	  
2011-05-05	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Prefix "Zusätzliche Längsschnitte" with "Zus.Längsschnitte"
	  in description.

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

	* src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Import 'Hochwasser-Marken', too.

	* src/main/java/de/intevation/flys/importer/WstParser.java:
	  Removed superfluous import.

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

	* src/main/java/de/intevation/flys/importer/WstParser.java:
	  Ignore lines that contain km positions which were found
	  before in the same file.

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

	* src/main/java/de/intevation/flys/model/River.java: Added a method that
	  returns all gauges of the river intersected by a given start and end
	  point.

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

	* src/main/java/de/intevation/flys/importer/ImportTimeInterval.java:
	  Forgot to fetch peer from result set.

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

	* src/main/java/de/intevation/flys/importer/ImportTimeInterval.java:
	  New. Importer model help fetching the database peer.

	* src/main/java/de/intevation/flys/model/TimeInterval.java:
	  Add convinience constructor with start and stop time.

	* src/main/java/de/intevation/flys/importer/AtFileParser.java:
	  Attach a time interval to a discharge table if we find one.

	* src/main/java/de/intevation/flys/importer/ImportDischargeTable.java:
	  Store the reference to the importer model of the 
	  time interval of the discharge table.

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

	* src/main/java/de/intevation/flys/importer/AtFileParser.java:
	  Try to extract time ranges from at files.

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

	* src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Parse and store "amtliche Linien" wst files.

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

	* src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Parse and store fixation wst files as well.

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

	* src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Parse the "zusaetzliche Laengsschnitte", too.

	* src/main/java/de/intevation/flys/importer/ImportWst.java:
	  Add getter/setter for column 'kind'.

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

	* src/main/java/de/intevation/flys/importer/WstParser.java:
	  Fixed flys/issue19: Do not take km column in wst file as a water level.

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

	* src/main/java/de/intevation/flys/model/Gauge.java: Introduced a 'scale'
	  that is used to adjust the range of min/max W values.

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

	* src/main/java/de/intevation/flys/importer/WstParser.java:
	  Removed superfluous import.

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

	* src/main/java/de/intevation/flys/importer/WstColumnValueKey.java:
	  New. This class is used as distinct key of a WstColumnValue - e.g. as
	  key in a map.

	* src/main/java/de/intevation/flys/importer/ImportWst.java: A
	  WstColumnValue cache is build up while initialization. This cache
	  contains all WstColumnValues that exist in the database.

	* src/main/java/de/intevation/flys/importer/ImportWstColumn.java: New
	  constructor that takes the WstColumnValues cache. It is used to
	  initialize new ImportWstColumnValue objects.

	* src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java:
	  Speedup: A ImportWstColumnValue has a WstColumnValues cache that
	  contains all WstColumnValues existing in the database. This makes it
	  unnecessary to call an sql statement for each WstColumnValue to
	  determine its existence in the database.

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

	* doc/schema/postgresql.sql, doc/schema/postgresql-cleanup.sql:
	  Added a view 'wst_value_table' which aggregates the data
	  to build w/q value tables.

	  To update existing databases:

	  BEGIN;
	    CREATE VIEW wst_value_table AS
	        SELECT wcv.position AS position,
	               w,
	               (SELECT q
	                FROM   wst_column_q_ranges wcqr
	                       JOIN wst_q_ranges wqr
	                         ON wcqr.wst_q_range_id = wqr.id
	                       JOIN ranges r
	                         ON r.id = wqr.range_id
	                WHERE  wcqr.wst_column_id = wc.id
	                       AND wcv.position BETWEEN r.a AND r.b) AS q,
	               wc.position                                   AS column_pos,
	               w.id                                          AS wst_id
	        FROM   wst_column_values wcv
	               JOIN wst_columns wc
	                 ON wcv.wst_column_id = wc.id
	               JOIN wsts w
	                 ON wc.wst_id = w.id
	        ORDER  BY wcv.position ASC,
	              wc.position DESC;
	  COMMIT;

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

	* src/main/java/de/intevation/flys/model/Wst.java:
	  Add forgotten one to many relation Wst -> WstColumn.

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

	* src/main/java/de/intevation/flys/importer/ImportWst.java,
	  src/main/java/de/intevation/flys/importer/WstParser.java:
	  Import of q ranges of wst files was totally broken. :-/
	  You have to reimport all your data.

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

	* src/main/java/de/intevation/flys/importer/ImportDischargeTable.java:
	  Forgot kind parameter in peer fetching query.
	  
2011-04-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/model/River.java::
	  Added a new method to determine the gauge based on a given start and end
	  point of the river.

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

	* doc/schema/postgresql.sql: Added 'position' column to wst_columns
	  to allow order them by there column position in the original
	  wst file.
	
	  Update existing database with:

	    BEGIN;
	      ALTER TABLE wst_columns ADD COLUMN position int;
	      UPDATE wst_columns w SET 
	        position = id - (SELECT min(id) FROM wst_columns WHERE wst_id = w.wst_id);
	      ALTER TABLE wst_columns ADD CONSTRAINT wst_columns_wst_id_position_key
	        UNIQUE (wst_id, position);
	    COMMIT;

	* src/main/java/de/intevation/flys/model/Wst.java,
	  src/main/java/de/intevation/flys/model/WstColumn.java:
	  Adjusted models.

	* src/main/java/de/intevation/flys/importer/ImportWst.java,
	  src/main/java/de/intevation/flys/importer/ImportWstColumn.java:
	  Adjusted importer.

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

	* doc/schema/postgresql.sql: Forget ',' in schema.

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

	* src/main/java/de/intevation/flys/model/Wst.java (determineMinMaxQ): 
	  Fixed index problem when an empty list is returned.

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

	* src/main/java/de/intevation/flys/model/Wst.java: A Wst is now able to
	  return its min and max Q values.

	* src/main/java/de/intevation/flys/model/Gauge.java: A Gauge is now able
	  to return its min and max W values.

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

	* doc/schema/postgresql.sql: Added new column 'kind' in
	  discharge tables and wst to distinguish between different
	  kinds like 'Haupt-WST', 'zusaetzliche Laengsschnitte',
	  'amtliche Daten' and so on.

	  Update existing databases with:
	    BEGIN;
	      ALTER TABLE discharge_tables ADD COLUMN kind int NOT NULL DEFAULT 0;
	      ALTER TABLE wsts             ADD COLUMN kind int NOT NULL DEFAULT 0;
	    COMMIT;

	* src/main/java/de/intevation/flys/model/DischargeTable.java
	  src/main/java/de/intevation/flys/model/Wst.java,
	  src/main/java/de/intevation/flys/importer/ImportWst.java,
	  src/main/java/de/intevation/flys/importer/ImportDischargeTable.java:
	  Adjusted the models.

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

	* src/main/java/de/intevation/flys/backend/SessionHolder.java: Moved to
	  this module from flys-artifacts. This is necessary to get access to the
	  current session in this module as well.

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

	* src/main/java/de/intevation/flys/model/River.java: Added a method that
	  returns the min and max distance of a river.

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

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

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

	Tagged RELEASE 0.1

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

	* src/main/java/de/intevation/flys/model/Range.java:
	  Forgot to save the last change before commit.

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

	* src/main/java/de/intevation/flys/model/Range.java:
	  Added methods to find out if two ranges intersects.

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

	* src/main/java/de/intevation/flys/model/Gauge.java:
	  Added an one to many relation to the discharge tables of a gauge.

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

	Finished import of WSTs.

	TODO 1: Speed it up! It takes on a high end machine over 7(!)
	        minutes only for the data of the Saar.
	TODO 2: Double precision floating point representations produced
	        by the the parsers leed to unique constraint violations
			in the backend on a second run. So the import is currently
			only working on freshly initialized data bases.
			More consequent working with BigDecimal and some
			rounding may be of help here.

	* src/main/java/de/intevation/flys/model/WstColumnValue.java:
	  Added convinience constructors.

	* src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java:
	  Added getPeer() method.

	* src/main/java/de/intevation/flys/importer/ImportWstColumn.java:
	  Add a list of the ImportWstColumnValues produced by the WST parser.

	* src/main/java/de/intevation/flys/importer/WstParser.java: Add
	  the (km, w) values to the ImportWstColumns.

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

	* src/main/java/de/intevation/flys/importer/WstParser.java:
	  Build models for wsts, wst columns and q ranges and
	  store them in the backend. TODO: store the w values.

	* src/main/java/de/intevation/flys/model/WstQRange.java
	  src/main/java/de/intevation/flys/model/Wst.java,
	  src/main/java/de/intevation/flys/model/Range.java,
	  src/main/java/de/intevation/flys/model/WstColumnQRange.java,
	  src/main/java/de/intevation/flys/model/WstColumn.java:
	  Added convinience constructors.

	* src/main/java/de/intevation/flys/importer/ImportWstQRange.java,
	  src/main/java/de/intevation/flys/importer/ImportWst.java,
	  src/main/java/de/intevation/flys/importer/ImportRiver.java,
	  src/main/java/de/intevation/flys/importer/ImportWstColumnQRange.java,
	  src/main/java/de/intevation/flys/importer/ImportWstColumn.java,
	  src/main/java/de/intevation/flys/importer/ImportRange.java:
	  Added getPeer() methods.

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

	* src/main/java/de/intevation/flys/importer/WstParser.java:
	  The unit extraction in the WST parser of desktop FLYS
	  is broken! Add a hack here to repair this for our
	  importer. Desktop FLYS needs a fix, too!

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

	* src/main/java/de/intevation/flys/importer/WstParser.java:
	  Ported some stuff ver from WSTSource.java of desktop flys to
	  parse WST files. TODO: create instances of the import models.

	* src/main/java/de/intevation/flys/utils/StringUtil.java:
	  Copied from desktop flys. Used for some string operations
	  in WST parser.

	* src/main/java/de/intevation/flys/importer/Importer.java:
	  Added system property 'flys.backend.importer.dry.run'.
	  Set to true only the parsing is done and no writing
	  to the backend. Default: false.

	*  src/main/java/de/intevation/flys/App.java,
	   src/main/java/de/intevation/flys/model/MainValueType.java:
	   Removed needless imports.

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

	* src/main/java/de/intevation/flys/model/DischargeTableValue.java,
	  src/main/java/de/intevation/flys/model/DischargeTable.java: Added new
	  constructors.

	* src/main/java/de/intevation/flys/importer/AtFileParser.java: New. This
	  parser is used to '*.at' files.

	* src/main/java/de/intevation/flys/importer/ImportGauge.java: Added code to
	  import discharge tables.

	* src/main/java/de/intevation/flys/importer/ImportDischargeTableValue.java,
	  src/main/java/de/intevation/flys/importer/ImportDischargeTable.java: New.
	  Helper models for import discharge tables.

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

	* src/main/java/de/intevation/flys/importer/WstParser.java,
	  src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Added stub for WST parser.

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

	* src/main/java/de/intevation/flys/importer/ImportWstQRange.java,
	  src/main/java/de/intevation/flys/importer/ImportWst.java,
	  src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java,
	  src/main/java/de/intevation/flys/importer/ImportWstColumnQRange.java,
	  src/main/java/de/intevation/flys/importer/ImportWstColumn.java:
	  Added importer helper model stubs for WST imports.
	
2011-03-21	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Second part of parsing/storing main values. Should be finished now.

	* src/main/java/de/intevation/flys/importer/ImportNamedMainValue.java,
	  src/main/java/de/intevation/flys/importer/ImportMainValue.java:
	  New. Helper models for import main values,

	* src/main/java/de/intevation/flys/model/MainValue.java,
	  src/main/java/de/intevation/flys/model/NamedMainValue.java:
	  Added convinience constructors.

	* src/main/java/de/intevation/flys/importer/ImportGauge.java:
	  Write main values to backend, too.

	* src/main/java/de/intevation/flys/importer/StaFileParser.java:
	  Build importer models for main values.

	* src/main/java/de/intevation/flys/importer/ImportMainValueType.java:
	  Data was called 'value'. Now it is 'name' to fit the
	  schema.

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

	* doc/schema/postgresql.sql: Fixed wrong unique constraint.

	* src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Added some logging when storing gauges.

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

	* src/main/java/de/intevation/flys/model/Gauge.java:
	  Add forgotten column river_id.

	* src/main/java/de/intevation/flys/importer/ImportGauge.java:
	  Small HQL fix.

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

	* src/main/java/de/intevation/flys/model/Gauge.java:
	  Added convinience contructor.

	* src/main/java/de/intevation/flys/importer/ImportGauge.java:
	  Fixed getPeer() method.

	* src/main/java/de/intevation/flys/importer/StaFileParser.java:
	  Fixed parsing of STA files.

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

	* src/main/java/de/intevation/flys/importer/ImportRiver.java,
	  src/main/java/de/intevation/flys/importer/ImportGauge.java:
	  Propagate river into storing of gauges.

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

	* src/main/java/de/intevation/flys/importer/Importer.java:
	  Added code to store rivers not only annotations.

	* src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Added stub code to write gauges.

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

	First part of parsing main values.

	* src/main/java/de/intevation/flys/App.java: Commented out
	  creation of dummy rivers.

	* src/main/java/de/intevation/flys/model/NamedMainValues.java:
	  Moved to NamedMainValue.

	* src/main/java/de/intevation/flys/model/NamedMainValue.java:
	  New. Formerly NamedMainValues.

	* src/main/java/de/intevation/flys/model/MainValue.java:
	  New. Forgotten part of the model.

	* src/main/java/de/intevation/flys/model/MainValueType.java:
	  Data is String not BigDecimal

	* src/main/java/de/intevation/flys/model/Range.java: Removed
	  contructor with double arguments. Using BigDecimal now.

	* src/main/java/de/intevation/flys/importer/PegelGltParser.java:
	  Propagate BigDecimal usage.

	* src/main/java/de/intevation/flys/importer/Importer.java:
	  Removed needless import. Added TODO

	* src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Parse the dependencies of the gauges, too.

	* src/main/java/de/intevation/flys/importer/StaFileParser.java:
	  New. Parser for STA files.

	* src/main/java/de/intevation/flys/importer/ImportGauge.java:
	  Call STA file parser.

	* src/main/java/de/intevation/flys/importer/AnnotationsParser.java,
	  src/main/java/de/intevation/flys/importer/ImportRange.java:
	  Uses BigDecimal now.

	* src/main/java/de/intevation/flys/importer/ImportAttribute.java:
	  Fixed wrong type cast in equals.

	* src/main/java/de/intevation/flys/importer/ImportMainValueType.java:
	  New. Helper model for importing main value types.

	* src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java:
	  Register forgotten MainValue model.

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

	Store annotations in backend.

	* src/main/java/de/intevation/flys/model/Annotation.java:
	  New convinience constructor.

	* src/main/java/de/intevation/flys/model/River.java:
	  Added toString() method.

	* src/main/java/de/intevation/flys/model/Range.java:
	  Fixed nasty mistake in @OneToOne annotatation.
	  New convinience constructors.

	* src/main/java/de/intevation/flys/importer/ImportPosition.java
	  src/main/java/de/intevation/flys/importer/ImportAnnotation.java,
	  src/main/java/de/intevation/flys/importer/ImportRange.java
	  src/main/java/de/intevation/flys/importer/ImportAttribute.java:
	  Make storing to backend work. It's a bit too slow. :-/

	* src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Fetch peer from backend. Added method to store annotations.
	* src/main/java/de/intevation/flys/importer/Importer.java:
	  Stored annotations into backend. More eloquent SQL exception
	  handling.

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

	* src/main/java/de/intevation/flys/model/Attribute.java,
	  src/main/java/de/intevation/flys/model/Position.java:
	  Added convinience constructors.

	* src/main/java/de/intevation/flys/importer/ImportPosition.java,
	  src/main/java/de/intevation/flys/importer/ImportAttribute.java:
	  Bound them to there backend peers.

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

	* src/main/java/de/intevation/flys/importer/AnnotationsParser.java:
	  New. Added parser to read *.KM files.

	* src/main/java/de/intevation/flys/importer/ImportPosition.java,
	  src/main/java/de/intevation/flys/importer/PegelGltParser.java,
	  src/main/java/de/intevation/flys/importer/ImportRiver.java,
	  src/main/java/de/intevation/flys/importer/ImportAnnotation.java,
	  src/main/java/de/intevation/flys/importer/ImportRange.java,
	  src/main/java/de/intevation/flys/importer/InfoGewParser.java,
	  src/main/java/de/intevation/flys/importer/ImportAttribute.java:
	  Adjusted to load the annotations from *.KM files.

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

	* src/main/java/de/intevation/flys/importer/ImportPosition.java,
	  src/main/java/de/intevation/flys/importer/ImportRange.java,
	  src/main/java/de/intevation/flys/importer/ImportAttribute.java,
	  src/main/java/de/intevation/flys/importer/ImportAnnotation.java:
	  New helper models for import.

	* src/main/java/de/intevation/flys/importer/PegelGltParser.java,
	  src/main/java/de/intevation/flys/importer/ImportGauge.java:
	  Use new models.

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

	* src/main/java/de/intevation/flys/importer/PegelGltParser.java:
	  New. Parser for PEGEL.GLT files.

	* src/main/java/de/intevation/flys/importer/ImportGauge.java:
	  New. Import model for gauges.

	* src/main/java/de/intevation/flys/utils/DBCPConnectionProvider.java:
	  Removed needless imports.

	* src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Added method to parse the gauges.

	* src/main/java/de/intevation/flys/importer/InfoGewParser.java:
	  Trigger pegel glt file parsing.

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

	* src/main/java/de/intevation/flys/importer/Importer.java:
	  Used thread local pattern to make sharing of session easier.

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

	* src/main/java/de/intevation/flys/importer/Importer.java:
	  Fixed error in HQL statement.

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

	* src/main/java/de/intevation/flys/utils/DBCPConnectionProvider.java:
	  Commented out a debug block because it leaks the db password.

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

	* src/main/java/de/intevation/flys/importer/InfoGewParser.java:
	  Expose imported rivers.

	* src/main/java/de/intevation/flys/importer/InfoGewParser.java:
	  Store imported rivers into database. Needs testing!

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

	* src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java:
	  Default connection parameters are now overwritable with
	  system properties (defaults in brackets):
	  - user name:     flys.backend.user     (flys)
	  - user password: flys.backend.password (flys)
	  - db dialect:    flys.backend.dialect  (org.hibernate.dialect.PostgreSQLDialect)
	  - db driver:     flys.backend.driver   (org.postgresql.Driver)
	  - db url:        flys.backend.url      (jdbc:postgresql://localhost:5432/flys)

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

	* src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java:
	  Expose createSessionFactory() as public to be usable without
	  a artifact database running.

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

	* src/main/java/de/intevation/flys/utils/FileTools.java: 
	  Tools for handling with filenames. Currently there is
	  a repair(File) method with repairs letter case errors
	  which is useful when reading windows filenames on a
	  un*x platform.

	* src/main/java/de/intevation/flys/importer/Importer.java:
	  Standalone app to read data from the file system and
	  store it in a database. Currently it does not store 
	  anything. It only loads info gew files.

	* src/main/java/de/intevation/flys/importer/InfoGewParser.java:
	  Info gew parser.

	* src/main/java/de/intevation/flys/importer/ImportRiver.java:
	  Helper model of a river used produced by parsing the
	  info gew files.

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

	* src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java:
	  New. SessionFactoryProvider.getSessionFactory() provides a
	  SessionFactory to use the Hibernate O/R mapper for the FLYS backend.

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

	* pom.xml: Added dependency to artifacts-commons to
	  be able to use the global configuration of the artifact database.

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

	* src/main/java/de/intevation/flys/App.java: Wire all POJOs
	  to corresponding factory.

	* src/main/java/de/intevation/flys/model/*.java: Generate
	  all foreign key constraints. TODO: name them correctly
	  because the machine generated names are ugly and do
	  not fit the PostgreSQL names.

	* doc/schema/postgresql.sql: Small quantifier fix in descriptions
	  of wst columns.

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

	* doc/schema/postgresql.sql: Fixed wrong spelled 
	  column references in foreign keys introduces with
	  last change.

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

	* src/main/java/de/intevation/flys/model/*.java: Added
	  column annotations for simple fields. TODO: foreign keys.

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

	* doc/schema/postgresql.sql, doc/schema/postgresql-cleanup.sql:
	  Fixed inconsistent table names.

	* src/main/java/de/intevation/flys/model/*.java: Added
	  entity and id annotations.

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

	* doc/schema/postgresql.sql, doc/schema/postgresql-cleanup.sql:
	  Added missing sequences.

	* doc/schema/sqlite.sql: Deleted. Not longer supported.

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

	* doc/schema/postgresql-cleanup.sql: Forgot to add.

	* src/main/java/de/intevation/flys/App.java: Use
	  Apache Commons DBCP as Hibernate connection provide.

	* src/main/java/de/intevation/flys/model/River.java:
	  Added a constructor with string argument. Set the
	  sequence increment to 1 (eat up 100 at a time before).

	* pom.xml: Added PostgreSQL 8.4 driver as runtime dependency.

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

	* doc/schema/postgresql-cleanup.sql: New. Tear down schema
	  for a postgres database.

	* doc/schema/postgresql.sql: Added squence for 
	  auto generating ids in river table. Cleaned up schema.

	* src/main/java/de/intevation/flys/App.java: Simple
	  test app to interact with hibernate. Needs to be removed
	  because its only a toy.

	* src/main/java/de/intevation/flys/utils/DBCPConnectionProvider.java:
	  New. Binds Apache Commons to Hibernate.

	* pom.xml: Added dependencies to log4j, commons dbcp,
	  JPA of hibernate.

	* src/main/java/de/intevation/flys/model/River.java: Added
	  JPA annotations.

	* src/main/java/de/intevation/flys/model/*.java: Replaced
	  Long with Integer because column ids are only four bytes wide.

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

	* doc/schema/sqlite.sql, doc/schema/postgresql.sql: Fixed
	  smaller issues in ddl.

	* src/main/java/de/intevation/flys/model/*.java: Added POJOs
	  of to be mapped. TODO: Map them!

	* pom.xml: Added plugin config for hibernate.

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

	* pom.xml: Added dependency (and corresponding repository) to
	  Hibernate Core 3.6.1 Final

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

	* pom.xml, src/**: Created a new empty maven project:
	  $ mvn archetype:create         \
	    -DgroupId=de.intevation.flys \
		-DartifactId=flys-backend

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

	* README: New. Some setup instructions.

	* doc/schema/postgresql.sql: New. Schema converted to PostgreSQL

	* doc/schema/sqlite.sql: Fixed defect foreign key constraints.

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

	* doc/schema/sqlite.sql: Factorized time intervals out into
	  a separated table.

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

	* contrib/import-kms.py, contrib/import-gew.py: Initial scripts
	to import data into SQLite database. They still need some work.

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

	* doc/schema/sqlite.sql: Added initial schema for
	FLYS database.

http://dive4elements.wald.intevation.org