Mercurial > dive4elements > river
view flys-backend/src/main/java/de/intevation/flys/model/DGM.java @ 4254:33b15ac17fd1
Only create and add GaugePanel when necessary
The GaugePanel isn't created always and only show if WINFO and a river is
selected now. It is only created on demand. Therefore all access to the
GaugePanel is abstraced via methods that check if the GaugePanel is null before
accessing it's methods.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Thu, 25 Oct 2012 13:58:53 +0200 |
parents | 85bcf8f34abb |
children | 2d68969bd2dc |
line wrap: on
line source
package de.intevation.flys.model; import java.io.Serializable; import java.util.List; import java.math.BigDecimal; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; import org.hibernate.Session; import org.hibernate.Query; import de.intevation.flys.backend.SessionHolder; @Entity @Table(name = "dem") public class DGM implements Serializable { private Integer id; private River river; private BigDecimal lower; private BigDecimal upper; private String path; public DGM() { } public void setId(Integer id) { this.id = id; } @Id @Column(name = "id") public Integer getId() { return id; } public void setRiver(River river) { this.river = river; } @OneToOne @JoinColumn(name = "river_id") public River getRiver() { return river; } public void setLower(BigDecimal lower) { this.lower = lower; } @Column(name = "lower") public BigDecimal getLower() { return lower; } public void setUpper(BigDecimal upper) { this.upper = upper; } @Column(name = "upper") public BigDecimal getUpper() { return upper; } public void setPath(String path) { this.path = path; } @Column(name = "path") public String getPath() { return path; } public static DGM getDGM(int id) { Session session = SessionHolder.HOLDER.get(); Query query = session.createQuery( "from DGM where Id =:id"); query.setParameter("id", id); List<DGM> result = query.list(); return result.isEmpty() ? null : result.get(0); } public static DGM getDGM(String river, double lower, double upper) { Session session = SessionHolder.HOLDER.get(); Query query = session.createQuery( "from DGM where river.name =:river and " + "lower <=:lower and upper >=:lower and " + "lower <=:upper and upper >=:upper"); query.setParameter("river", river); query.setParameter("lower", new BigDecimal(lower)); query.setParameter("upper", new BigDecimal(upper)); List<DGM> result = query.list(); return result.isEmpty() ? null : result.get(0); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :