diff flys-backend/src/main/java/de/intevation/flys/importer/ImportWaterlevel.java @ 3943:a5b003595d6c

Store minfo values into database only if their peer has been successfully stored. flys-backend/trunk@5520 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 19 Sep 2012 10:05:36 +0000
parents a65b5b0ade6f
children 1c34acb084ee
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportWaterlevel.java	Tue Sep 18 15:58:28 2012 +0000
+++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportWaterlevel.java	Wed Sep 19 10:05:36 2012 +0000
@@ -17,7 +17,6 @@
 
     private static final Logger log = Logger.getLogger(ImportWaterlevel.class);
 
-
     private ImportUnit unit;
 
     private String description;
@@ -26,40 +25,37 @@
 
     private Waterlevel peer;
 
-
     public ImportWaterlevel(String description) {
         this.qRanges = new ArrayList<ImportWaterlevelQRange>();
 
         this.description = description;
     }
 
-
     public void setUnit(ImportUnit unit) {
         this.unit = unit;
     }
 
-
     public void addValue(ImportWaterlevelQRange qRange) {
         this.qRanges.add(qRange);
     }
 
-
     public void storeDependencies(River river) {
         log.info("store dependencies");
 
         Waterlevel peer = getPeer(river);
 
-        int i = 0;
+        if (peer != null) {
+            int i = 0;
 
-        for (ImportWaterlevelQRange qRange: qRanges) {
-            qRange.storeDependencies(peer);
-            i++;
+            for (ImportWaterlevelQRange qRange : qRanges) {
+                qRange.storeDependencies(peer);
+                i++;
+            }
+
+            log.info("stored " + i + " waterlevel q ranges");
         }
-
-        log.info("stored " + i + " waterlevel q ranges");
     }
 
-
     public Waterlevel getPeer(River river) {
         Unit u = unit != null ? unit.getPeer() : null;
         if (u == null) {
@@ -68,13 +64,11 @@
         }
 
         if (peer == null) {
-            Session session = ImporterSession.getInstance().getDatabaseSession();
-            Query query = session.createQuery(
-                "from Waterlevel where " +
-                "   river=:river and " +
-                "   unit=:unit and " +
-                "   description=:description"
-            );
+            Session session = ImporterSession.getInstance()
+                .getDatabaseSession();
+            Query query = session.createQuery("from Waterlevel where "
+                + "   river=:river and " + "   unit=:unit and "
+                + "   description=:description");
 
             query.setParameter("river", river);
             query.setParameter("unit", u);

http://dive4elements.wald.intevation.org