teichmann@5844: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5844: * Software engineering by Intevation GmbH teichmann@5844: * teichmann@5992: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5844: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5992: * documentation coming with Dive4Elements River for details. teichmann@5844: */ teichmann@5844: teichmann@5829: package org.dive4elements.river.importer; sascha@196: teichmann@5829: import org.dive4elements.river.model.WstColumnQRange; teichmann@5829: import org.dive4elements.river.model.WstQRange; teichmann@5829: import org.dive4elements.river.model.WstColumn; teichmann@5829: import org.dive4elements.river.model.River; sascha@201: sascha@201: import org.hibernate.Session; sascha@201: import org.hibernate.Query; sascha@201: sascha@201: import java.util.List; sascha@196: sascha@196: public class ImportWstColumnQRange sascha@196: { sascha@201: protected ImportWstColumn wstColumn; sascha@201: protected ImportWstQRange qRange; sascha@201: sascha@196: protected WstColumnQRange peer; sascha@196: sascha@196: public ImportWstColumnQRange() { sascha@196: } sascha@196: sascha@201: public ImportWstColumnQRange( sascha@201: ImportWstColumn wstColumn, sascha@201: ImportWstQRange qRange sascha@201: ) { sascha@201: this.wstColumn = wstColumn; sascha@201: this.qRange = qRange; sascha@201: } sascha@201: sascha@201: public ImportWstColumn getWstColumn() { sascha@201: return wstColumn; sascha@201: } sascha@201: sascha@201: public void setWstColumn(ImportWstColumn wstColumn) { sascha@201: this.wstColumn = wstColumn; sascha@201: } sascha@201: sascha@201: public ImportWstQRange getQRange() { sascha@201: return qRange; sascha@201: } sascha@201: sascha@201: public void setQRange(ImportWstQRange qRange) { sascha@201: this.qRange = qRange; sascha@201: } sascha@201: sascha@201: public WstColumnQRange getPeer(River river) { sascha@196: if (peer == null) { sascha@201: WstColumn c = wstColumn.getPeer(river); sascha@201: WstQRange q = qRange.getPeer(river); sascha@497: Session session = ImporterSession.getInstance().getDatabaseSession(); sascha@201: Query query = session.createQuery( sascha@201: "from WstColumnQRange where " + sascha@201: "wstColumn=:c and wstQRange=:q"); sascha@201: query.setParameter("c", c); sascha@201: query.setParameter("q", q); sascha@201: List cols = query.list(); sascha@201: if (cols.isEmpty()) { sascha@201: peer = new WstColumnQRange(c, q); sascha@201: session.save(peer); sascha@201: } sascha@201: else { sascha@201: peer = cols.get(0); sascha@201: } sascha@196: } sascha@196: return peer; sascha@196: } sascha@196: } sascha@196: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :