view flys-backend/src/main/java/de/intevation/flys/model/DGM.java @ 4269:0c766c475805

Add Panel and Tree UI classes for dispayling the measurement station info The new ui classes are using the new extracted base class InfoPanel and InfoTree which are in common with the gauge info.
author Björn Ricks <bjoern.ricks@intevation.de>
date Fri, 26 Oct 2012 12:22:06 +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 :

http://dive4elements.wald.intevation.org