diff flys-backend/src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java @ 202:29a408f80a89

Finished import of WSTs. flys-backend/trunk@1553 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 23 Mar 2011 16:33:36 +0000
parents a33c065b95eb
children db430bd9e0e0
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java	Wed Mar 23 15:22:32 2011 +0000
+++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java	Wed Mar 23 16:33:36 2011 +0000
@@ -1,17 +1,79 @@
 package de.intevation.flys.importer;
 
 import de.intevation.flys.model.WstColumnValue;
+import de.intevation.flys.model.WstColumn;
+import de.intevation.flys.model.River;
+
+import java.math.BigDecimal;
+
+import org.hibernate.Session;
+import org.hibernate.Query;
+
+import java.util.List;
 
 public class ImportWstColumnValue
 {
-    protected WstColumnValue peer;
+    protected BigDecimal      position;
+    protected BigDecimal      w;
+    protected ImportWstColumn wstColumn;
+
+    protected WstColumnValue  peer;
 
     public ImportWstColumnValue() {
     }
 
-    public WstColumnValue getPeer() {
+    public ImportWstColumnValue(
+        ImportWstColumn wstColumn,
+        BigDecimal      position,
+        BigDecimal      w
+    ) {
+        this.wstColumn = wstColumn;
+        this.position  = position;
+        this.w         = w;
+    }
+
+    public BigDecimal getPosition() {
+        return position;
+    }
+
+    public void setPosition(BigDecimal position) {
+        this.position = position;
+    }
+
+    public BigDecimal getW() {
+        return w;
+    }
+
+    public void setW(BigDecimal w) {
+        this.w = w;
+    }
+
+    public ImportWstColumn getWstColumn() {
+        return wstColumn;
+    }
+
+    public void setWstColumn(ImportWstColumn wstColumn) {
+        this.wstColumn = wstColumn;
+    }
+
+    public WstColumnValue getPeer(River river) {
         if (peer == null) {
-            // TODO: Implement me!
+            WstColumn c = wstColumn.getPeer(river);
+            Session session = Importer.sessionHolder.get();
+            Query query = session.createQuery(
+                "from WstColumnValue where " +
+                "wstColumn=:c and position=:p and w=:w");
+            query.setParameter("c", c);
+            query.setParameter("p", position);
+            query.setParameter("w", w);
+            List<WstColumnValue> values = query.list();
+            if (values.isEmpty()) {
+                peer = new WstColumnValue(c, position, w);
+                session.save(peer);
+            }
+            else {
+                peer = values.get(0);
+            }
         }
         return peer;
     }

http://dive4elements.wald.intevation.org