Mercurial > dive4elements > river
view flys-backend/src/main/java/de/intevation/flys/importer/ImportSQRelationValue.java @ 4728:ccae8b43e527
Initial empty version of W80Parser.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 28 Dec 2012 11:59:01 +0100 |
parents | cc8fc6b29649 |
children | 13596605e81f |
line wrap: on
line source
package de.intevation.flys.importer; import java.sql.SQLException; import java.util.List; import org.apache.log4j.Logger; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.exception.ConstraintViolationException; import de.intevation.flys.model.SQRelation; import de.intevation.flys.model.SQRelationValue; public class ImportSQRelationValue { private static Logger log = Logger.getLogger(ImportSQRelationValue.class); private SQRelationValue peer; private String parameter; private String fraction; private String function; private double km; private double a; private double b; public ImportSQRelationValue( String parameter, String fraction, String function, double km, double a, double b ) { this.parameter = parameter; this.fraction = fraction; this.function = function; this.km = km; this.a = a; this.b = b; } public void storeDependencies(SQRelation owner) throws SQLException, ConstraintViolationException { getPeer(owner); } public SQRelationValue getPeer(SQRelation owner) { if (peer == null) { Session session = ImporterSession.getInstance().getDatabaseSession(); Query query = session.createQuery( "from SQRelationValue " + " where sqRelation=:owner " + " and parameter=:parameter" + " and fraction=:fraction" + " and function=:function" + " and km=:km"); query.setParameter("owner", owner); query.setString("parameter", parameter); query.setString("fraction", fraction); query.setString("function", function); query.setDouble("km", km); List<SQRelationValue> values = query.list(); if (values.isEmpty()) { peer = new SQRelationValue( owner, parameter, fraction, function, km, a, b ); session.save(peer); } else { peer = values.get(0); } } return peer; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :