diff flys-backend/src/main/java/de/intevation/flys/importer/ImportRiver.java @ 5027:25c180fa6162

Use BWASTRParser to set official numbers on rivers.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 19 Feb 2013 16:41:00 +0100
parents 443c173f043a
children e6dc908297e8
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportRiver.java	Tue Feb 19 12:03:55 2013 +0100
+++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportRiver.java	Tue Feb 19 16:41:00 2013 +0100
@@ -297,6 +297,7 @@
         parseWaterlevelDifferences();
         parseMeasurementStations();
         parseSQRelation();
+        storeOfficialNumber();
     }
 
     public void parseFloodProtection() throws IOException {
@@ -341,6 +342,13 @@
         }
     }
 
+    public void storeOfficialNumber() {
+        if (Config.INSTANCE.skipBWASTR()) {
+            log.info("skip storing official number.");
+            return;
+        }
+        getPeer().setOfficialNumber(officialNumber);
+    }
 
     public void parseBedHeight() throws IOException {
         File minfoDir     = getMinfoDir();
@@ -1447,13 +1455,19 @@
             Session session = ImporterSession.getInstance().getDatabaseSession();
             Query query = session.createQuery("from River where name=:name");
 
-            Unit u = wstUnit.getPeer();
+            Unit u = null;
+            if (wstUnit != null) {
+                u = wstUnit.getPeer();
+            }
 
             query.setString("name", name);
             List<River> rivers = query.list();
             if (rivers.isEmpty()) {
                 log.info("Store new river '" + name + "'");
                 peer = new River(name, u);
+                if (!Config.INSTANCE.skipBWASTR()) {
+                    peer.setOfficialNumber(officialNumber);
+                }
                 session.save(peer);
             }
             else {

http://dive4elements.wald.intevation.org