view backend/src/main/java/org/dive4elements/river/model/BedHeightSingleValue.java @ 8443:df65f24af5bc

(issue1762) Use getValue to obtain dateRange values The getToValue was always the initial value regardless of what has been entered in the form. According to the documentation both getToValue and getFromValue should return the "initial value" of the form field. But wether this means the value before validation corrections or the value the field is initialized with (which is also not true in both cases as the field is set only after creation) It returned the real value for the from date but not for the to date. With an explicit getValue we workaround this issue.
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 22 Oct 2014 17:33:43 +0200
parents 9d2e69f971f5
children 3a0522f1a532
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU AGPL (>=v3)
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details.
 */

package org.dive4elements.river.model;

import java.util.List;

import java.io.Serializable;
//import java.math.BigDecimal;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.GeneratedValue;
import javax.persistence.Column;
import javax.persistence.SequenceGenerator;
import javax.persistence.GenerationType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;

import org.apache.log4j.Logger;

import org.hibernate.Session;
import org.hibernate.Query;

import org.dive4elements.river.backend.SessionHolder;


@Entity
@Table(name = "bed_height_single_values")
public class BedHeightSingleValue
implements   Serializable
{
    private static Logger log =
        Logger.getLogger(BedHeightSingleValue.class);

    private Integer id;

    private BedHeightSingle bedHeight;

    private Double station;
    private Double height;
    private Double uncertainty;
    private Double dataGap;
    private Double soundingWidth;
    private Double width;


    public BedHeightSingleValue() {
    }

    public BedHeightSingleValue(
        BedHeightSingle bedHeight,
        Double station,
        Double height,
        Double uncertainty,
        Double dataGap,
        Double soundingWidth,
        Double width
    ) {
        this.bedHeight     = bedHeight;
        this.station       = station;
        this.height        = height;
        this.uncertainty   = uncertainty;
        this.dataGap       = dataGap;
        this.soundingWidth = soundingWidth;
        this.width         = width;
    }

    @Id
    @SequenceGenerator(
        name           = "SEQUENCE_BED_SINGLE_VALUE_ID_SEQ",
        sequenceName   = "BED_SINGLE_VALUES_ID_SEQ",
        allocationSize = 1)
    @GeneratedValue(
        strategy  = GenerationType.SEQUENCE,
        generator = "SEQUENCE_BED_SINGLE_VALUE_ID_SEQ")
    @Column(name = "id")
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @OneToOne
    @JoinColumn(name = "bed_height_single_id" )
    public BedHeightSingle getBedHeight() {
        return bedHeight;
    }

    public void setBedHeight(BedHeightSingle bedHeight) {
        this.bedHeight = bedHeight;
    }

    @Column(name = "station")
    public Double getStation() {
        return station;
    }

    public void setStation(Double station) {
        this.station = station;
    }

    @Column(name = "height")
    public Double getHeight() {
        return height;
    }

    public void setHeight(Double height) {
        this.height = height;
    }

    @Column(name="uncertainty")
    public Double getUncertainty() {
        return uncertainty;
    }

    public void setUncertainty(Double uncertainty) {
        this.uncertainty = uncertainty;
    }

    @Column(name="data_gap")
    public Double getDataGap() {
        return dataGap;
    }

    public void setDataGap(Double dataGap) {
        this.dataGap = dataGap;
    }

    @Column(name="sounding_width")
    //    public BigDecimal getSoundingWidth() {
    public Double getSoundingWidth() {
        return soundingWidth;
    }

    //public void setSoundingWidth(BigDecimal soundingWidth) {
    public void setSoundingWidth(Double soundingWidth) {
        this.soundingWidth = soundingWidth;
    }

    @Column(name="width")
    public Double getWidth() {
        return width;
    }

    public void setWidth(Double width) {
        this.width = width;
    }


    public static List<BedHeightSingleValue> getBedHeightSingleValues(
        BedHeightSingle single,
        double kmLo,
        double kmHi
    ) {
        Session session = SessionHolder.HOLDER.get();

        Query query = session.createQuery(
            "from BedHeightSingleValue where bedHeight=:single " +
            "   and station >= :kmLo and station <= :kmHi");

        query.setParameter("single", single);
        query.setParameter("kmLo", new Double(kmLo));
        query.setParameter("kmHi", new Double(kmHi));

        return query.list();
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org