view flys-backend/src/main/java/de/intevation/flys/model/DGM.java @ 4573:b87073a05f9d

flys-client: Patch to render combobox options as clickable links. The way of passing data arguments to the links and further to the Artifact feeding service is somewhat hacked and should be refactored (later...).
author Christian Lins <christian.lins@intevation.de>
date Tue, 27 Nov 2012 12:50:10 +0100
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