sascha@503: 2011-05-09 Sascha L. Teichmann sascha@503: sascha@503: * src/main/java/de/intevation/flys/importer/ValueKey.java: sascha@503: Add some unsharp comparison (eps = 1e-6) to avoid sascha@503: numerical problems. sascha@503: sascha@503: * src/main/java/de/intevation/flys/importer/IdValueKey.java: sascha@503: Removed. Not need any longer. sascha@503: sascha@503: * src/main/java/de/intevation/flys/importer/ImporterSession.java: sascha@503: Use unsharp lookup. sascha@503: sascha@503: * src/main/java/de/intevation/flys/importer/ImportWst.java, sascha@503: src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@503: Flush more often. Hopefully this reduces hibernate sync sascha@503: problems?! sascha@503: sascha@502: 2011-05-09 Sascha L. Teichmann sascha@502: sascha@502: * src/main/java/de/intevation/flys/importer/ImporterSession.java: sascha@502: Fixed silly bug. Set flush mode back to auto because sascha@502: manual flushing causes some undetermined problems. sascha@502: sascha@501: 2011-05-09 Sascha L. Teichmann sascha@501: sascha@501: * src/main/java/de/intevation/flys/importer/ImporterSession.java: sascha@501: Do not load _all_ values from discharge tables and sascha@501: wst columns. This is extremly slow and will lead sascha@501: to OOM if more rivers are imported. Now only the sascha@501: last 20 columns und discharge tables are cached. sascha@501: sascha@501: * src/main/java/de/intevation/flys/importer/ValueKey.java: sascha@501: New. Key for caching discharge table values and wst sascha@501: column values. sascha@501: sascha@501: * src/main/java/de/intevation/flys/importer/IdValueKey.java: sascha@501: Fixed bug in equals(). sascha@501: sascha@501: * src/main/java/de/intevation/flys/importer/ImportWstColumn.java: sascha@501: Removed too eloquent debug output. sascha@501: sascha@500: 2011-05-09 Sascha L. Teichmann sascha@500: sascha@500: * src/main/java/de/intevation/flys/importer/IdValueKey.java: sascha@500: Use BigDecimals as representation for the numeric components sascha@500: which prevents running into unique constraint problems sascha@500: caused by imprecision. sascha@500: sascha@500: * src/main/java/de/intevation/flys/importer/ImportRange.java, sascha@500: src/main/java/de/intevation/flys/importer/ImporterSession.java: sascha@500: Ranges are now cached globally, too. sascha@500: sascha@500: * src/main/java/de/intevation/flys/importer/ImportWstColumn.java: sascha@500: Improved logging. sascha@500: sascha@500: * src/main/java/de/intevation/flys/importer/ImportDischargeTableValue.java: sascha@500: Removed superfluous imports. sascha@500: sascha@499: 2011-05-08 Sascha L. Teichmann sascha@499: sascha@499: * src/main/java/de/intevation/flys/importer/StaFileParser.java: sascha@499: Only accept main value types 'Q', 'W', 'D' and 'T' by default. sascha@499: '-' is not handled any more because it causes too much constraint sascha@499: problems. You can overwrite the imported type with the sascha@499: system property flys.backend.main.value.types" (default "QWTD") sascha@499: sascha@499: * src/main/java/de/intevation/flys/importer/ImporterSession.java: sascha@499: Set session flush mode to manual. Hopefully this improves the sascha@499: performance a bit. sascha@499: sascha@499: * src/main/java/de/intevation/flys/importer/ImportWst.java, sascha@499: src/main/java/de/intevation/flys/importer/ImportGauge.java, sascha@499: src/main/java/de/intevation/flys/importer/ImportWstColumn.java, sascha@499: src/main/java/de/intevation/flys/importer/ImportRange.java, sascha@499: src/main/java/de/intevation/flys/importer/ImportDischargeTable.java: sascha@499: Improved logging. sascha@499: sascha@498: 2011-05-08 Sascha L. Teichmann sascha@498: sascha@498: * src/main/java/de/intevation/flys/importer/WstColumnValueKey.java: Deleted sascha@498: * src/main/java/de/intevation/flys/importer/IdValueKey.java: Reinserted sascha@498: here in a more generalized form. sascha@498: sascha@498: * src/main/java/de/intevation/flys/importer/ImporterSession.java: sascha@498: Cache the discharge table value, too. sascha@498: sascha@498: * src/main/java/de/intevation/flys/importer/ImportDischargeTableValue.java: sascha@498: Use the global cache. sascha@498: sascha@497: 2011-05-08 Sascha L. Teichmann sascha@497: sascha@497: * src/main/java/de/intevation/flys/importer/ImporterSession.java: sascha@497: New. Centralized caching in the thread local context. Importing sascha@497: the Elbe leads to OOM because the column values of the sascha@497: WST files where loaded separately for every file. sascha@497: sascha@497: * src/main/java/de/intevation/flys/importer/ImportPosition.java, sascha@497: src/main/java/de/intevation/flys/importer/Importer.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportAnnotation.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportWstQRange.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportWst.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportMainValue.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportMainValueType.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportNamedMainValue.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportRiver.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportGauge.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportWstColumnQRange.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportWstColumn.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportRange.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportDischargeTableValue.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportDischargeTable.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportAttribute.java, sascha@497: src/main/java/de/intevation/flys/importer/ImportTimeInterval.java: sascha@497: Adjusted to use the new global context. sascha@497: sascha@496: 2011-05-08 Sascha L. Teichmann sascha@496: sascha@496: * doc/schema/postgresql.sql: Dropped constraint which sascha@496: forces discharge tables to have a unique time interval sascha@496: for a given gauge and kind. sascha@496: sascha@496: There are AT files (historical Mosel/Perl/Perl/1967-1981.at sascha@496: and Mosel/Perl/1967-1981-1.at) which violate this sascha@496: constraint. Its a technical question to the customer sascha@496: how to handle these cases. sascha@496: sascha@496: To adjust existing databases: sascha@496: sascha@496: ALTER TABLE discharge_tables DROP CONSTRAINT discharge_tables_gauge_id_key; sascha@496: sascha@496: 2011-05-08 Sascha L. Teichmann sascha@495: sascha@495: * src/main/java/de/intevation/flys/importer/WstParser.java: sascha@495: There are wst files where column names are not unique. sascha@495: Make them unique by appending (1), (2) and so on. sascha@495: sascha@493: 2011-05-05 Sascha L. Teichmann sascha@493: sascha@494: * src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@494: Import the "HW-Schutzanlagen", too. sascha@494: sascha@494: 2011-05-05 Sascha L. Teichmann sascha@494: sascha@494: Make import of historical discharge tables work. sascha@493: sascha@493: * doc/schema/postgresql.sql: Added forgotten column 'description'. sascha@493: sascha@493: !!! You have to drop your database !!! sascha@493: sascha@493: * src/main/java/de/intevation/flys/importer/ImportDischargeTable.java: sascha@493: src/main/java/de/intevation/flys/model/DischargeTable.java: sascha@493: Add the forgotten description property. sascha@493: sascha@493: * src/main/java/de/intevation/flys/importer/AtFileParser.java: sascha@493: Fixed problems with date recognition. sascha@493: sascha@493: * src/main/java/de/intevation/flys/importer/ImportGauge.java: sascha@493: Prefix the description of the historical discharge tables sascha@493: with "Histor.Abflusstafeln". sascha@493: sascha@493: * src/main/java/de/intevation/flys/importer/ImportTimeInterval.java: sascha@493: Fixed silly programming error. sascha@493: sascha@492: 2011-05-05 Sascha L. Teichmann sascha@492: sascha@492: * src/main/java/de/intevation/flys/importer/AtFileParser.java: sascha@492: Inject 'kind' attribute. sascha@492: sascha@492: * src/main/java/de/intevation/flys/importer/ImportGauge.java: sascha@492: Traverse the "Histor.Abflusstafeln" for the historical sascha@492: discharge tables. too. TODO: Store them in the database. sascha@492: sascha@492: * src/main/java/de/intevation/flys/importer/ImportDischargeTable.java: sascha@492: Added convinience constructor to set the kind of the sascha@492: discharge table. sascha@492: sascha@491: 2011-05-05 Sascha L. Teichmann sascha@491: sascha@491: * src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@491: Prefix "Zusätzliche Längsschnitte" with "Zus.Längsschnitte" sascha@491: in description. sascha@491: sascha@490: 2011-05-05 Sascha L. Teichmann sascha@490: sascha@490: * src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@490: Import 'Hochwasser-Marken', too. sascha@490: sascha@490: * src/main/java/de/intevation/flys/importer/WstParser.java: sascha@490: Removed superfluous import. sascha@490: sascha@489: 2011-05-05 Sascha L. Teichmann sascha@489: sascha@489: * src/main/java/de/intevation/flys/importer/WstParser.java: sascha@489: Ignore lines that contain km positions which were found sascha@489: before in the same file. sascha@489: ingo@488: 2011-05-05 Ingo Weinzierl ingo@488: ingo@488: * src/main/java/de/intevation/flys/model/River.java: Added a method that ingo@488: returns all gauges of the river intersected by a given start and end ingo@488: point. ingo@488: sascha@487: 2011-05-03 Sascha L. Teichmann sascha@487: sascha@487: * src/main/java/de/intevation/flys/importer/ImportTimeInterval.java: sascha@487: Forgot to fetch peer from result set. sascha@487: sascha@486: 2011-05-03 Sascha L. Teichmann sascha@486: sascha@486: * src/main/java/de/intevation/flys/importer/ImportTimeInterval.java: sascha@486: New. Importer model help fetching the database peer. sascha@486: sascha@486: * src/main/java/de/intevation/flys/model/TimeInterval.java: sascha@486: Add convinience constructor with start and stop time. sascha@486: sascha@486: * src/main/java/de/intevation/flys/importer/AtFileParser.java: sascha@486: Attach a time interval to a discharge table if we find one. sascha@486: sascha@486: * src/main/java/de/intevation/flys/importer/ImportDischargeTable.java: sascha@486: Store the reference to the importer model of the sascha@486: time interval of the discharge table. sascha@486: sascha@485: 2011-05-03 Sascha L. Teichmann sascha@485: sascha@485: * src/main/java/de/intevation/flys/importer/AtFileParser.java: sascha@485: Try to extract time ranges from at files. sascha@485: sascha@484: 2011-05-03 Sascha L. Teichmann sascha@484: sascha@484: * src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@484: Parse and store "amtliche Linien" wst files. sascha@484: sascha@483: 2011-05-03 Sascha L. Teichmann sascha@483: sascha@483: * src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@483: Parse and store fixation wst files as well. sascha@483: sascha@482: 2011-05-03 Sascha L. Teichmann sascha@482: sascha@482: * src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@482: Parse the "zusaetzliche Laengsschnitte", too. sascha@482: sascha@482: * src/main/java/de/intevation/flys/importer/ImportWst.java: sascha@482: Add getter/setter for column 'kind'. sascha@482: sascha@481: 2011-05-02 Sascha L. Teichmann sascha@481: sascha@481: * src/main/java/de/intevation/flys/importer/WstParser.java: sascha@481: Fixed flys/issue19: Do not take km column in wst file as a water level. sascha@481: ingo@480: 2011-05-02 Ingo Weinzierl ingo@480: ingo@480: * src/main/java/de/intevation/flys/model/Gauge.java: Introduced a 'scale' ingo@480: that is used to adjust the range of min/max W values. ingo@480: sascha@479: 2011-05-01 Sascha L. Teichmann sascha@479: sascha@479: * src/main/java/de/intevation/flys/importer/WstParser.java: sascha@479: Removed superfluous import. sascha@479: ingo@478: 2011-04-20 Ingo Weinzierl ingo@478: ingo@478: * src/main/java/de/intevation/flys/importer/WstColumnValueKey.java: ingo@478: New. This class is used as distinct key of a WstColumnValue - e.g. as ingo@478: key in a map. ingo@478: ingo@478: * src/main/java/de/intevation/flys/importer/ImportWst.java: A ingo@478: WstColumnValue cache is build up while initialization. This cache ingo@478: contains all WstColumnValues that exist in the database. ingo@478: ingo@478: * src/main/java/de/intevation/flys/importer/ImportWstColumn.java: New ingo@478: constructor that takes the WstColumnValues cache. It is used to ingo@478: initialize new ImportWstColumnValue objects. ingo@478: ingo@478: * src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java: ingo@478: Speedup: A ImportWstColumnValue has a WstColumnValues cache that ingo@478: contains all WstColumnValues existing in the database. This makes it ingo@478: unnecessary to call an sql statement for each WstColumnValue to ingo@478: determine its existence in the database. ingo@478: sascha@476: 2011-04-18 Sascha L. Teichmann sascha@476: sascha@476: * doc/schema/postgresql.sql, doc/schema/postgresql-cleanup.sql: sascha@476: Added a view 'wst_value_table' which aggregates the data sascha@476: to build w/q value tables. sascha@476: sascha@477: To update existing databases: sascha@477: sascha@477: BEGIN; sascha@477: CREATE VIEW wst_value_table AS sascha@477: SELECT wcv.position AS position, sascha@477: w, sascha@477: (SELECT q sascha@477: FROM wst_column_q_ranges wcqr sascha@477: JOIN wst_q_ranges wqr sascha@477: ON wcqr.wst_q_range_id = wqr.id sascha@477: JOIN ranges r sascha@477: ON r.id = wqr.range_id sascha@477: WHERE wcqr.wst_column_id = wc.id sascha@477: AND wcv.position BETWEEN r.a AND r.b) AS q, sascha@477: wc.position AS column_pos, sascha@477: w.id AS wst_id sascha@477: FROM wst_column_values wcv sascha@477: JOIN wst_columns wc sascha@477: ON wcv.wst_column_id = wc.id sascha@477: JOIN wsts w sascha@477: ON wc.wst_id = w.id sascha@477: ORDER BY wcv.position ASC, sascha@477: wc.position DESC; sascha@477: COMMIT; sascha@477: sascha@475: 2011-04-18 Sascha L. Teichmann sascha@475: sascha@475: * src/main/java/de/intevation/flys/model/Wst.java: sascha@475: Add forgotten one to many relation Wst -> WstColumn. sascha@475: sascha@474: 2011-04-18 Sascha L. Teichmann sascha@474: sascha@474: * src/main/java/de/intevation/flys/importer/ImportWst.java, sascha@474: src/main/java/de/intevation/flys/importer/WstParser.java: sascha@474: Import of q ranges of wst files was totally broken. :-/ sascha@474: You have to reimport all your data. sascha@474: sascha@473: 2011-04-18 Sascha L. Teichmann sascha@473: sascha@473: * src/main/java/de/intevation/flys/importer/ImportDischargeTable.java: sascha@473: Forgot kind parameter in peer fetching query. sascha@473: ingo@472: 2011-04-18 Ingo Weinzierl ingo@472: ingo@472: * src/main/java/de/intevation/flys/model/River.java:: ingo@472: Added a new method to determine the gauge based on a given start and end ingo@472: point of the river. ingo@472: sascha@471: 2011-04-15 Sascha L. Teichmann sascha@471: sascha@471: * doc/schema/postgresql.sql: Added 'position' column to wst_columns sascha@471: to allow order them by there column position in the original sascha@471: wst file. sascha@471: sascha@471: Update existing database with: sascha@471: sascha@471: BEGIN; sascha@471: ALTER TABLE wst_columns ADD COLUMN position int; sascha@471: UPDATE wst_columns w SET sascha@471: position = id - (SELECT min(id) FROM wst_columns WHERE wst_id = w.wst_id); sascha@471: ALTER TABLE wst_columns ADD CONSTRAINT wst_columns_wst_id_position_key sascha@471: UNIQUE (wst_id, position); sascha@471: COMMIT; sascha@471: sascha@471: * src/main/java/de/intevation/flys/model/Wst.java, sascha@471: src/main/java/de/intevation/flys/model/WstColumn.java: sascha@471: Adjusted models. sascha@471: sascha@471: * src/main/java/de/intevation/flys/importer/ImportWst.java, sascha@471: src/main/java/de/intevation/flys/importer/ImportWstColumn.java: sascha@471: Adjusted importer. sascha@471: sascha@470: 2011-04-15 Sascha L. Teichmann sascha@470: sascha@470: * doc/schema/postgresql.sql: Forget ',' in schema. sascha@470: sascha@469: 2011-04-15 Sascha L. Teichmann sascha@469: sascha@469: * src/main/java/de/intevation/flys/model/Wst.java (determineMinMaxQ): sascha@469: Fixed index problem when an empty list is returned. sascha@469: ingo@468: 2011-04-15 Ingo Weinzierl ingo@468: ingo@468: * src/main/java/de/intevation/flys/model/Wst.java: A Wst is now able to ingo@468: return its min and max Q values. ingo@468: ingo@468: * src/main/java/de/intevation/flys/model/Gauge.java: A Gauge is now able ingo@468: to return its min and max W values. ingo@468: sascha@467: 2011-04-15 Sascha L. Teichmann sascha@467: sascha@467: * doc/schema/postgresql.sql: Added new column 'kind' in sascha@467: discharge tables and wst to distinguish between different sascha@467: kinds like 'Haupt-WST', 'zusaetzliche Laengsschnitte', sascha@467: 'amtliche Daten' and so on. sascha@467: sascha@467: Update existing databases with: sascha@467: BEGIN; sascha@467: ALTER TABLE discharge_tables ADD COLUMN kind int NOT NULL DEFAULT 0; sascha@467: ALTER TABLE wsts ADD COLUMN kind int NOT NULL DEFAULT 0; sascha@469: COMMIT; sascha@467: sascha@467: * src/main/java/de/intevation/flys/model/DischargeTable.java sascha@467: src/main/java/de/intevation/flys/model/Wst.java, sascha@467: src/main/java/de/intevation/flys/importer/ImportWst.java, sascha@467: src/main/java/de/intevation/flys/importer/ImportDischargeTable.java: sascha@467: Adjusted the models. sascha@467: ingo@466: 2011-04-15 Ingo Weinzierl ingo@466: ingo@466: * src/main/java/de/intevation/flys/backend/SessionHolder.java: Moved to ingo@466: this module from flys-artifacts. This is necessary to get access to the ingo@466: current session in this module as well. ingo@466: ingo@465: 2011-04-14 Ingo Weinzierl ingo@465: ingo@465: * src/main/java/de/intevation/flys/model/River.java: Added a method that ingo@465: returns the min and max distance of a river. ingo@465: sascha@464: 2011-04-03 Sascha L. Teichmann sascha@464: sascha@464: * src/**/*.java: Removed trailing whitespace. sascha@464: ingo@463: 2011-03-30 Ingo Weinzierl ingo@463: ingo@463: Tagged RELEASE 0.1 ingo@463: sascha@205: 2011-03-28 Sascha L. Teichmann sascha@205: sascha@205: * src/main/java/de/intevation/flys/model/Range.java: sascha@205: Forgot to save the last change before commit. sascha@205: sascha@204: 2011-03-28 Sascha L. Teichmann sascha@204: sascha@204: * src/main/java/de/intevation/flys/model/Range.java: sascha@204: Added methods to find out if two ranges intersects. sascha@204: sascha@203: 2011-03-24 Sascha L. Teichmann sascha@203: sascha@203: * src/main/java/de/intevation/flys/model/Gauge.java: sascha@203: Added an one to many relation to the discharge tables of a gauge. sascha@203: sascha@202: 2011-03-22 Sascha L. Teichmann sascha@202: sascha@202: Finished import of WSTs. sascha@202: sascha@202: TODO 1: Speed it up! It takes on a high end machine over 7(!) sascha@202: minutes only for the data of the Saar. sascha@202: TODO 2: Double precision floating point representations produced sascha@202: by the the parsers leed to unique constraint violations sascha@202: in the backend on a second run. So the import is currently sascha@202: only working on freshly initialized data bases. sascha@202: More consequent working with BigDecimal and some sascha@202: rounding may be of help here. sascha@202: sascha@202: * src/main/java/de/intevation/flys/model/WstColumnValue.java: sascha@202: Added convinience constructors. sascha@202: sascha@202: * src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java: sascha@202: Added getPeer() method. sascha@202: sascha@202: * src/main/java/de/intevation/flys/importer/ImportWstColumn.java: sascha@202: Add a list of the ImportWstColumnValues produced by the WST parser. sascha@202: sascha@202: * src/main/java/de/intevation/flys/importer/WstParser.java: Add sascha@202: the (km, w) values to the ImportWstColumns. sascha@202: sascha@201: 2011-03-22 Sascha L. Teichmann sascha@201: sascha@201: * src/main/java/de/intevation/flys/importer/WstParser.java: sascha@201: Build models for wsts, wst columns and q ranges and sascha@201: store them in the backend. TODO: store the w values. sascha@201: sascha@201: * src/main/java/de/intevation/flys/model/WstQRange.java sascha@201: src/main/java/de/intevation/flys/model/Wst.java, sascha@201: src/main/java/de/intevation/flys/model/Range.java, sascha@201: src/main/java/de/intevation/flys/model/WstColumnQRange.java, sascha@201: src/main/java/de/intevation/flys/model/WstColumn.java: sascha@201: Added convinience constructors. sascha@201: sascha@201: * src/main/java/de/intevation/flys/importer/ImportWstQRange.java, sascha@201: src/main/java/de/intevation/flys/importer/ImportWst.java, sascha@201: src/main/java/de/intevation/flys/importer/ImportRiver.java, sascha@201: src/main/java/de/intevation/flys/importer/ImportWstColumnQRange.java, sascha@201: src/main/java/de/intevation/flys/importer/ImportWstColumn.java, sascha@201: src/main/java/de/intevation/flys/importer/ImportRange.java: sascha@201: Added getPeer() methods. sascha@201: sascha@200: 2011-03-22 Sascha L. Teichmann sascha@200: sascha@200: * src/main/java/de/intevation/flys/importer/WstParser.java: sascha@200: The unit extraction in the WST parser of desktop FLYS sascha@200: is broken! Add a hack here to repair this for our sascha@200: importer. Desktop FLYS needs a fix, too! sascha@200: sascha@199: 2011-03-22 Sascha L. Teichmann sascha@199: sascha@199: * src/main/java/de/intevation/flys/importer/WstParser.java: sascha@199: Ported some stuff ver from WSTSource.java of desktop flys to sascha@199: parse WST files. TODO: create instances of the import models. sascha@199: sascha@199: * src/main/java/de/intevation/flys/utils/StringUtil.java: sascha@199: Copied from desktop flys. Used for some string operations sascha@199: in WST parser. sascha@199: sascha@199: * src/main/java/de/intevation/flys/importer/Importer.java: sascha@199: Added system property 'flys.backend.importer.dry.run'. sascha@199: Set to true only the parsing is done and no writing sascha@199: to the backend. Default: false. sascha@199: sascha@199: * src/main/java/de/intevation/flys/App.java, sascha@199: src/main/java/de/intevation/flys/model/MainValueType.java: sascha@199: Removed needless imports. sascha@199: ingo@198: 2011-03-22 Ingo Weinzierl ingo@198: ingo@198: * src/main/java/de/intevation/flys/model/DischargeTableValue.java, ingo@198: src/main/java/de/intevation/flys/model/DischargeTable.java: Added new ingo@198: constructors. ingo@198: ingo@198: * src/main/java/de/intevation/flys/importer/AtFileParser.java: New. This ingo@198: parser is used to '*.at' files. ingo@198: ingo@198: * src/main/java/de/intevation/flys/importer/ImportGauge.java: Added code to ingo@198: import discharge tables. ingo@198: ingo@198: * src/main/java/de/intevation/flys/importer/ImportDischargeTableValue.java, ingo@198: src/main/java/de/intevation/flys/importer/ImportDischargeTable.java: New. ingo@198: Helper models for import discharge tables. ingo@198: sascha@197: 2011-03-22 Sascha L. Teichmann sascha@197: sascha@197: * src/main/java/de/intevation/flys/importer/WstParser.java, sascha@197: src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@197: Added stub for WST parser. sascha@197: sascha@196: 2011-03-22 Sascha L. Teichmann sascha@196: sascha@196: * src/main/java/de/intevation/flys/importer/ImportWstQRange.java, sascha@196: src/main/java/de/intevation/flys/importer/ImportWst.java, sascha@196: src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java, sascha@196: src/main/java/de/intevation/flys/importer/ImportWstColumnQRange.java, sascha@196: src/main/java/de/intevation/flys/importer/ImportWstColumn.java: sascha@196: Added importer helper model stubs for WST imports. sascha@196: sascha@195: 2011-03-21 Sascha L. Teichmann sascha@195: sascha@195: Second part of parsing/storing main values. Should be finished now. sascha@195: sascha@195: * src/main/java/de/intevation/flys/importer/ImportNamedMainValue.java, sascha@195: src/main/java/de/intevation/flys/importer/ImportMainValue.java: sascha@195: New. Helper models for import main values, sascha@195: sascha@195: * src/main/java/de/intevation/flys/model/MainValue.java, sascha@195: src/main/java/de/intevation/flys/model/NamedMainValue.java: sascha@195: Added convinience constructors. sascha@195: sascha@195: * src/main/java/de/intevation/flys/importer/ImportGauge.java: sascha@195: Write main values to backend, too. sascha@195: sascha@195: * src/main/java/de/intevation/flys/importer/StaFileParser.java: sascha@195: Build importer models for main values. sascha@195: sascha@195: * src/main/java/de/intevation/flys/importer/ImportMainValueType.java: sascha@195: Data was called 'value'. Now it is 'name' to fit the sascha@195: schema. sascha@195: sascha@194: 2011-03-21 Sascha L. Teichmann sascha@194: sascha@194: * doc/schema/postgresql.sql: Fixed wrong unique constraint. sascha@194: sascha@194: * src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@194: Added some logging when storing gauges. sascha@194: sascha@193: 2011-03-21 Sascha L. Teichmann sascha@193: sascha@193: * src/main/java/de/intevation/flys/model/Gauge.java: sascha@193: Add forgotten column river_id. sascha@193: sascha@193: * src/main/java/de/intevation/flys/importer/ImportGauge.java: sascha@193: Small HQL fix. sascha@193: sascha@192: 2011-03-21 Sascha L. Teichmann sascha@192: sascha@192: * src/main/java/de/intevation/flys/model/Gauge.java: sascha@192: Added convinience contructor. sascha@192: sascha@192: * src/main/java/de/intevation/flys/importer/ImportGauge.java: sascha@192: Fixed getPeer() method. sascha@192: sascha@192: * src/main/java/de/intevation/flys/importer/StaFileParser.java: sascha@192: Fixed parsing of STA files. sascha@192: sascha@191: 2011-03-21 Sascha L. Teichmann sascha@191: sascha@191: * src/main/java/de/intevation/flys/importer/ImportRiver.java, sascha@191: src/main/java/de/intevation/flys/importer/ImportGauge.java: sascha@191: Propagate river into storing of gauges. sascha@191: sascha@191: 2011-03-21 Sascha L. Teichmann sascha@190: sascha@190: * src/main/java/de/intevation/flys/importer/Importer.java: sascha@190: Added code to store rivers not only annotations. sascha@190: sascha@190: * src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@190: Added stub code to write gauges. sascha@190: sascha@189: 2011-03-17 Sascha L. Teichmann sascha@189: sascha@189: First part of parsing main values. sascha@189: sascha@189: * src/main/java/de/intevation/flys/App.java: Commented out sascha@189: creation of dummy rivers. sascha@189: sascha@189: * src/main/java/de/intevation/flys/model/NamedMainValues.java: sascha@189: Moved to NamedMainValue. sascha@189: sascha@189: * src/main/java/de/intevation/flys/model/NamedMainValue.java: sascha@189: New. Formerly NamedMainValues. sascha@189: sascha@189: * src/main/java/de/intevation/flys/model/MainValue.java: sascha@189: New. Forgotten part of the model. sascha@189: sascha@189: * src/main/java/de/intevation/flys/model/MainValueType.java: sascha@189: Data is String not BigDecimal sascha@189: sascha@189: * src/main/java/de/intevation/flys/model/Range.java: Removed sascha@189: contructor with double arguments. Using BigDecimal now. sascha@189: sascha@189: * src/main/java/de/intevation/flys/importer/PegelGltParser.java: sascha@189: Propagate BigDecimal usage. sascha@189: sascha@189: * src/main/java/de/intevation/flys/importer/Importer.java: sascha@189: Removed needless import. Added TODO sascha@189: sascha@189: * src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@189: Parse the dependencies of the gauges, too. sascha@189: sascha@189: * src/main/java/de/intevation/flys/importer/StaFileParser.java: sascha@189: New. Parser for STA files. sascha@189: sascha@189: * src/main/java/de/intevation/flys/importer/ImportGauge.java: sascha@189: Call STA file parser. sascha@189: sascha@189: * src/main/java/de/intevation/flys/importer/AnnotationsParser.java, sascha@189: src/main/java/de/intevation/flys/importer/ImportRange.java: sascha@189: Uses BigDecimal now. sascha@189: sascha@189: * src/main/java/de/intevation/flys/importer/ImportAttribute.java: sascha@189: Fixed wrong type cast in equals. sascha@189: sascha@189: * src/main/java/de/intevation/flys/importer/ImportMainValueType.java: sascha@189: New. Helper model for importing main value types. sascha@189: sascha@189: * src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java: sascha@189: Register forgotten MainValue model. sascha@189: sascha@188: 2011-03-17 Sascha L. Teichmann sascha@188: sascha@188: Store annotations in backend. sascha@188: sascha@188: * src/main/java/de/intevation/flys/model/Annotation.java: sascha@188: New convinience constructor. sascha@188: sascha@188: * src/main/java/de/intevation/flys/model/River.java: sascha@188: Added toString() method. sascha@188: sascha@188: * src/main/java/de/intevation/flys/model/Range.java: sascha@188: Fixed nasty mistake in @OneToOne annotatation. sascha@188: New convinience constructors. sascha@188: sascha@188: * src/main/java/de/intevation/flys/importer/ImportPosition.java sascha@188: src/main/java/de/intevation/flys/importer/ImportAnnotation.java, sascha@188: src/main/java/de/intevation/flys/importer/ImportRange.java sascha@188: src/main/java/de/intevation/flys/importer/ImportAttribute.java: sascha@188: Make storing to backend work. It's a bit too slow. :-/ sascha@188: sascha@188: * src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@188: Fetch peer from backend. Added method to store annotations. sascha@188: * src/main/java/de/intevation/flys/importer/Importer.java: sascha@188: Stored annotations into backend. More eloquent SQL exception sascha@188: handling. sascha@188: sascha@187: 2011-03-17 Sascha L. Teichmann sascha@187: sascha@187: * src/main/java/de/intevation/flys/model/Attribute.java, sascha@187: src/main/java/de/intevation/flys/model/Position.java: sascha@187: Added convinience constructors. sascha@187: sascha@187: * src/main/java/de/intevation/flys/importer/ImportPosition.java, sascha@187: src/main/java/de/intevation/flys/importer/ImportAttribute.java: sascha@187: Bound them to there backend peers. sascha@187: sascha@186: 2011-03-17 Sascha L. Teichmann sascha@186: sascha@186: * src/main/java/de/intevation/flys/importer/AnnotationsParser.java: sascha@186: New. Added parser to read *.KM files. sascha@186: sascha@186: * src/main/java/de/intevation/flys/importer/ImportPosition.java, sascha@186: src/main/java/de/intevation/flys/importer/PegelGltParser.java, sascha@186: src/main/java/de/intevation/flys/importer/ImportRiver.java, sascha@186: src/main/java/de/intevation/flys/importer/ImportAnnotation.java, sascha@186: src/main/java/de/intevation/flys/importer/ImportRange.java, sascha@186: src/main/java/de/intevation/flys/importer/InfoGewParser.java, sascha@186: src/main/java/de/intevation/flys/importer/ImportAttribute.java: sascha@186: Adjusted to load the annotations from *.KM files. sascha@186: sascha@185: 2011-03-17 Sascha L. Teichmann sascha@185: sascha@185: * src/main/java/de/intevation/flys/importer/ImportPosition.java, sascha@185: src/main/java/de/intevation/flys/importer/ImportRange.java, sascha@185: src/main/java/de/intevation/flys/importer/ImportAttribute.java, sascha@185: src/main/java/de/intevation/flys/importer/ImportAnnotation.java: sascha@185: New helper models for import. sascha@185: sascha@185: * src/main/java/de/intevation/flys/importer/PegelGltParser.java, sascha@185: src/main/java/de/intevation/flys/importer/ImportGauge.java: sascha@185: Use new models. sascha@185: sascha@184: 2011-03-17 Sascha L. Teichmann sascha@184: sascha@184: * src/main/java/de/intevation/flys/importer/PegelGltParser.java: sascha@184: New. Parser for PEGEL.GLT files. sascha@184: sascha@184: * src/main/java/de/intevation/flys/importer/ImportGauge.java: sascha@184: New. Import model for gauges. sascha@184: sascha@184: * src/main/java/de/intevation/flys/utils/DBCPConnectionProvider.java: sascha@184: Removed needless imports. sascha@184: sascha@184: * src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@184: Added method to parse the gauges. sascha@184: sascha@184: * src/main/java/de/intevation/flys/importer/InfoGewParser.java: sascha@184: Trigger pegel glt file parsing. sascha@184: sascha@183: 2011-03-17 Sascha L. Teichmann sascha@183: sascha@183: * src/main/java/de/intevation/flys/importer/Importer.java: sascha@183: Used thread local pattern to make sharing of session easier. sascha@183: sascha@182: 2011-03-17 Sascha L. Teichmann sascha@182: sascha@182: * src/main/java/de/intevation/flys/importer/Importer.java: sascha@182: Fixed error in HQL statement. sascha@182: sascha@181: 2011-03-17 Sascha L. Teichmann sascha@181: sascha@181: * src/main/java/de/intevation/flys/utils/DBCPConnectionProvider.java: sascha@181: Commented out a debug block because it leaks the db password. sascha@181: sascha@180: 2011-03-16 Sascha L. Teichmann sascha@180: sascha@180: * src/main/java/de/intevation/flys/importer/InfoGewParser.java: sascha@180: Expose imported rivers. sascha@180: sascha@180: * src/main/java/de/intevation/flys/importer/InfoGewParser.java: sascha@180: Store imported rivers into database. Needs testing! sascha@180: sascha@179: 2011-03-16 Sascha L. Teichmann sascha@179: sascha@179: * src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java: sascha@179: Default connection parameters are now overwritable with sascha@179: system properties (defaults in brackets): sascha@179: - user name: flys.backend.user (flys) sascha@179: - user password: flys.backend.password (flys) sascha@179: - db dialect: flys.backend.dialect (org.hibernate.dialect.PostgreSQLDialect) sascha@179: - db driver: flys.backend.driver (org.postgresql.Driver) sascha@179: - db url: flys.backend.url (jdbc:postgresql://localhost:5432/flys) sascha@179: sascha@178: 2011-03-16 Sascha L. Teichmann sascha@178: sascha@178: * src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java: sascha@178: Expose createSessionFactory() as public to be usable without sascha@178: a artifact database running. sascha@178: sascha@177: 2011-03-16 Sascha L. Teichmann sascha@177: sascha@177: * src/main/java/de/intevation/flys/utils/FileTools.java: sascha@177: Tools for handling with filenames. Currently there is sascha@177: a repair(File) method with repairs letter case errors sascha@177: which is useful when reading windows filenames on a sascha@177: un*x platform. sascha@177: sascha@177: * src/main/java/de/intevation/flys/importer/Importer.java: sascha@177: Standalone app to read data from the file system and sascha@177: store it in a database. Currently it does not store sascha@177: anything. It only loads info gew files. sascha@177: sascha@177: * src/main/java/de/intevation/flys/importer/InfoGewParser.java: sascha@177: Info gew parser. sascha@177: sascha@177: * src/main/java/de/intevation/flys/importer/ImportRiver.java: sascha@177: Helper model of a river used produced by parsing the sascha@177: info gew files. sascha@177: sascha@176: 2011-03-15 Sascha L. Teichmann sascha@176: sascha@176: * src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java: sascha@176: New. SessionFactoryProvider.getSessionFactory() provides a sascha@176: SessionFactory to use the Hibernate O/R mapper for the FLYS backend. sascha@176: sascha@175: 2011-03-15 Sascha L. Teichmann sascha@175: sascha@175: * pom.xml: Added dependency to artifacts-commons to sascha@175: be able to use the global configuration of the artifact database. sascha@175: sascha@174: 2011-03-15 Sascha L. Teichmann sascha@174: sascha@174: * src/main/java/de/intevation/flys/App.java: Wire all POJOs sascha@174: to corresponding factory. sascha@174: sascha@174: * src/main/java/de/intevation/flys/model/*.java: Generate sascha@174: all foreign key constraints. TODO: name them correctly sascha@174: because the machine generated names are ugly and do sascha@174: not fit the PostgreSQL names. sascha@174: sascha@174: * doc/schema/postgresql.sql: Small quantifier fix in descriptions sascha@174: of wst columns. sascha@174: sascha@173: 2011-03-14 Sascha L. Teichmann sascha@173: sascha@173: * doc/schema/postgresql.sql: Fixed wrong spelled sascha@173: column references in foreign keys introduces with sascha@173: last change. sascha@173: sascha@172: 2011-03-14 Sascha L. Teichmann sascha@172: sascha@172: * src/main/java/de/intevation/flys/model/*.java: Added sascha@172: column annotations for simple fields. TODO: foreign keys. sascha@172: sascha@171: 2011-03-14 Sascha L. Teichmann sascha@171: sascha@171: * doc/schema/postgresql.sql, doc/schema/postgresql-cleanup.sql: sascha@171: Fixed inconsistent table names. sascha@171: sascha@171: * src/main/java/de/intevation/flys/model/*.java: Added sascha@171: entity and id annotations. sascha@171: sascha@170: 2011-03-14 Sascha L. Teichmann sascha@170: sascha@170: * doc/schema/postgresql.sql, doc/schema/postgresql-cleanup.sql: sascha@170: Added missing sequences. sascha@170: sascha@170: * doc/schema/sqlite.sql: Deleted. Not longer supported. sascha@170: sascha@169: 2011-03-11 Sascha L. Teichmann sascha@169: sascha@169: * doc/schema/postgresql-cleanup.sql: Forgot to add. sascha@169: sascha@169: * src/main/java/de/intevation/flys/App.java: Use sascha@169: Apache Commons DBCP as Hibernate connection provide. sascha@169: sascha@169: * src/main/java/de/intevation/flys/model/River.java: sascha@169: Added a constructor with string argument. Set the sascha@169: sequence increment to 1 (eat up 100 at a time before). sascha@169: sascha@169: * pom.xml: Added PostgreSQL 8.4 driver as runtime dependency. sascha@169: sascha@168: 2011-03-11 Sascha L. Teichmann sascha@168: sascha@168: * doc/schema/postgresql-cleanup.sql: New. Tear down schema sascha@168: for a postgres database. sascha@168: sascha@168: * doc/schema/postgresql.sql: Added squence for sascha@168: auto generating ids in river table. Cleaned up schema. sascha@168: sascha@168: * src/main/java/de/intevation/flys/App.java: Simple sascha@168: test app to interact with hibernate. Needs to be removed sascha@168: because its only a toy. sascha@168: sascha@168: * src/main/java/de/intevation/flys/utils/DBCPConnectionProvider.java: sascha@168: New. Binds Apache Commons to Hibernate. sascha@168: sascha@168: * pom.xml: Added dependencies to log4j, commons dbcp, sascha@168: JPA of hibernate. sascha@168: sascha@168: * src/main/java/de/intevation/flys/model/River.java: Added sascha@168: JPA annotations. sascha@168: sascha@168: * src/main/java/de/intevation/flys/model/*.java: Replaced sascha@168: Long with Integer because column ids are only four bytes wide. sascha@168: sascha@167: 2011-03-11 Sascha L. Teichmann sascha@167: sascha@167: * doc/schema/sqlite.sql, doc/schema/postgresql.sql: Fixed sascha@167: smaller issues in ddl. sascha@167: sascha@167: * src/main/java/de/intevation/flys/model/*.java: Added POJOs sascha@167: of to be mapped. TODO: Map them! sascha@167: sascha@167: * pom.xml: Added plugin config for hibernate. sascha@167: sascha@166: 2011-03-09 Sascha L. Teichmann sascha@166: sascha@166: * pom.xml: Added dependency (and corresponding repository) to sascha@166: Hibernate Core 3.6.1 Final sascha@166: sascha@165: 2011-03-09 Sascha L. Teichmann sascha@165: sascha@165: * pom.xml, src/**: Created a new empty maven project: sascha@165: $ mvn archetype:create \ sascha@165: -DgroupId=de.intevation.flys \ sascha@165: -DartifactId=flys-backend sascha@165: sascha@164: 2011-03-09 Sascha L. Teichmann sascha@164: sascha@164: * README: New. Some setup instructions. sascha@164: sascha@164: * doc/schema/postgresql.sql: New. Schema converted to PostgreSQL sascha@164: sascha@164: * doc/schema/sqlite.sql: Fixed defect foreign key constraints. sascha@164: sascha@163: 2011-03-09 Sascha L. Teichmann sascha@163: sascha@163: * doc/schema/sqlite.sql: Factorized time intervals out into sascha@163: a separated table. sascha@163: sascha@162: 2011-01-22 Sascha L. Teichmann sascha@162: sascha@162: * contrib/import-kms.py, contrib/import-gew.py: Initial scripts sascha@162: to import data into SQLite database. They still need some work. sascha@162: sascha@162: 2011-02-10 Sascha L. Teichmann : sascha@161: sascha@161: * doc/schema/sqlite.sql: Added initial schema for sascha@161: FLYS database.