Mercurial > dive4elements > river
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; }