teichmann@5844: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5844: * Software engineering by Intevation GmbH teichmann@5844: * teichmann@5992: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5844: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5992: * documentation coming with Dive4Elements River for details. teichmann@5844: */ teichmann@5844: teichmann@5829: package org.dive4elements.river.model; ingo@2809: mschaefer@8975: import java.io.Serializable; ingo@2873: import java.util.List; ingo@2873: mschaefer@8975: import javax.persistence.Column; ingo@2809: import javax.persistence.Entity; mschaefer@8975: import javax.persistence.GeneratedValue; mschaefer@8975: import javax.persistence.GenerationType; ingo@2809: import javax.persistence.Id; ingo@2809: import javax.persistence.JoinColumn; ingo@2809: import javax.persistence.OneToOne; mschaefer@8975: import javax.persistence.SequenceGenerator; mschaefer@8975: import javax.persistence.Table; mschaefer@9034: import javax.persistence.Transient; ingo@2809: ingo@2809: import org.apache.log4j.Logger; mschaefer@8975: import org.dive4elements.river.backend.SessionHolder; mschaefer@8975: import org.hibernate.Query; ingo@2873: import org.hibernate.Session; ingo@2873: ingo@2809: ingo@2809: @Entity tom@8559: @Table(name = "bed_height_values") tom@8559: public class BedHeightValue ingo@2809: implements Serializable ingo@2809: { teichmann@8200: private static Logger log = mschaefer@8975: Logger.getLogger(BedHeightValue.class); ingo@2809: ingo@2809: private Integer id; ingo@2809: tom@8559: private BedHeight bedHeight; ingo@2809: tom@6203: private Double station; tom@6203: private Double height; tom@6203: private Double uncertainty; tom@6203: private Double dataGap; tom@6298: private Double soundingWidth; mschaefer@8955: private Double minHeight; mschaefer@8955: private Double maxHeight; mschaefer@9034: private Double height01; mschaefer@9034: private Double height02; mschaefer@9034: private Double height03; mschaefer@9034: private Double height04; mschaefer@9034: private Double height05; mschaefer@9034: private Double height06; mschaefer@9034: private Double height07; mschaefer@9034: private Double height08; mschaefer@9034: private Double height09; mschaefer@9034: private Double height10; ingo@2809: ingo@2809: tom@8559: public BedHeightValue() { ingo@2809: } ingo@2809: mschaefer@8955: public BedHeightValue(final BedHeight bedHeight, final Double station, final Double height, final Double uncertainty, final Double dataGap, mschaefer@8955: final Double soundingWidth, final Double minHeight, final Double maxHeight) { ingo@2809: this.bedHeight = bedHeight; ingo@2809: this.station = station; ingo@2809: this.height = height; ingo@2809: this.uncertainty = uncertainty; ingo@2809: this.dataGap = dataGap; ingo@2809: this.soundingWidth = soundingWidth; mschaefer@8955: this.minHeight = minHeight; mschaefer@8955: this.maxHeight = maxHeight; ingo@2809: } ingo@2809: ingo@2809: @Id mschaefer@8955: @SequenceGenerator(name = "SEQUENCE_BED_HEIGHT_VALUE_ID_SEQ", sequenceName = "BED_HEIGHT_VALUES_ID_SEQ", allocationSize = 1) mschaefer@8955: @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQUENCE_BED_HEIGHT_VALUE_ID_SEQ") ingo@2809: @Column(name = "id") ingo@2809: public Integer getId() { mschaefer@8955: return this.id; ingo@2809: } ingo@2809: mschaefer@8955: public void setId(final Integer id) { ingo@2809: this.id = id; ingo@2809: } ingo@2809: ingo@2809: @OneToOne tom@8842: @JoinColumn(name = "bed_height_id") tom@8559: public BedHeight getBedHeight() { mschaefer@8955: return this.bedHeight; ingo@2809: } ingo@2809: mschaefer@8955: public void setBedHeight(final BedHeight bedHeight) { ingo@2809: this.bedHeight = bedHeight; ingo@2809: } ingo@2809: ingo@2809: @Column(name = "station") tom@6203: public Double getStation() { mschaefer@8955: return this.station; ingo@2809: } ingo@2809: mschaefer@8955: public void setStation(final Double station) { ingo@2809: this.station = station; ingo@2809: } ingo@2809: ingo@2809: @Column(name = "height") tom@6203: public Double getHeight() { mschaefer@8955: return this.height; ingo@2809: } ingo@2809: mschaefer@8955: public void setHeight(final Double height) { ingo@2809: this.height = height; ingo@2809: } ingo@2809: ingo@2809: @Column(name="uncertainty") tom@6203: public Double getUncertainty() { mschaefer@8955: return this.uncertainty; ingo@2809: } ingo@2809: mschaefer@8955: public void setUncertainty(final Double uncertainty) { ingo@2809: this.uncertainty = uncertainty; ingo@2809: } ingo@2809: ingo@2809: @Column(name="data_gap") tom@6203: public Double getDataGap() { mschaefer@8955: return this.dataGap; ingo@2809: } ingo@2809: mschaefer@8955: public void setDataGap(final Double dataGap) { ingo@2809: this.dataGap = dataGap; ingo@2809: } ingo@2809: ingo@2809: @Column(name="sounding_width") tom@6298: public Double getSoundingWidth() { mschaefer@8955: return this.soundingWidth; ingo@2809: } ingo@2809: mschaefer@8955: public void setSoundingWidth(final Double soundingWidth) { ingo@2809: this.soundingWidth = soundingWidth; ingo@2809: } ingo@2809: mschaefer@8955: @Column(name = "min_height") mschaefer@8955: public Double getMinHeight() { mschaefer@8955: return this.minHeight; mschaefer@8955: } mschaefer@8955: mschaefer@8955: public void setMinHeight(final Double minHeight) { mschaefer@8955: this.minHeight = minHeight; mschaefer@8955: } mschaefer@8955: mschaefer@8955: @Column(name = "max_height") mschaefer@8955: public Double getMaxHeight() { mschaefer@8955: return this.maxHeight; mschaefer@8955: } mschaefer@8955: mschaefer@8955: public void setMaxHeight(final Double maxHeight) { mschaefer@8955: this.maxHeight = maxHeight; mschaefer@8955: } mschaefer@8955: mschaefer@9034: @Column(name = "height01") mschaefer@9034: public Double getHeight01() { mschaefer@9034: return this.height01; mschaefer@9034: } mschaefer@9034: mschaefer@9034: public void setHeight01(final Double height) { mschaefer@9034: this.height01 = height; mschaefer@9034: } mschaefer@9034: mschaefer@9034: @Column(name = "height02") mschaefer@9034: public Double getHeight02() { mschaefer@9034: return this.height02; mschaefer@9034: } mschaefer@9034: mschaefer@9034: public void setHeight02(final Double height) { mschaefer@9034: this.height02 = height; mschaefer@9034: } mschaefer@9034: mschaefer@9034: @Column(name = "height03") mschaefer@9034: public Double getHeight03() { mschaefer@9034: return this.height03; mschaefer@9034: } mschaefer@9034: mschaefer@9034: public void setHeight03(final Double height) { mschaefer@9034: this.height03 = height; mschaefer@9034: } mschaefer@9034: mschaefer@9034: @Column(name = "height04") mschaefer@9034: public Double getHeight04() { mschaefer@9034: return this.height04; mschaefer@9034: } mschaefer@9034: mschaefer@9034: public void setHeight04(final Double height) { mschaefer@9034: this.height04 = height; mschaefer@9034: } mschaefer@9034: mschaefer@9034: @Column(name = "height05") mschaefer@9034: public Double getHeight05() { mschaefer@9034: return this.height05; mschaefer@9034: } mschaefer@9034: mschaefer@9034: public void setHeight05(final Double height) { mschaefer@9034: this.height05 = height; mschaefer@9034: } mschaefer@9034: mschaefer@9034: @Column(name = "height06") mschaefer@9034: public Double getHeight06() { mschaefer@9034: return this.height06; mschaefer@9034: } mschaefer@9034: mschaefer@9034: public void setHeight06(final Double height) { mschaefer@9034: this.height06 = height; mschaefer@9034: } mschaefer@9034: mschaefer@9034: @Column(name = "height07") mschaefer@9034: public Double getHeight07() { mschaefer@9034: return this.height07; mschaefer@9034: } mschaefer@9034: mschaefer@9034: public void setHeight07(final Double height) { mschaefer@9034: this.height07 = height; mschaefer@9034: } mschaefer@9034: mschaefer@9034: @Column(name = "height08") mschaefer@9034: public Double getHeight08() { mschaefer@9034: return this.height08; mschaefer@9034: } mschaefer@9034: mschaefer@9034: public void setHeight08(final Double height) { mschaefer@9034: this.height08 = height; mschaefer@9034: } mschaefer@9034: mschaefer@9034: @Column(name = "height09") mschaefer@9034: public Double getHeight09() { mschaefer@9034: return this.height09; mschaefer@9034: } mschaefer@9034: mschaefer@9034: public void setHeight09(final Double height) { mschaefer@9034: this.height09 = height; mschaefer@9034: } mschaefer@9034: mschaefer@9034: @Column(name = "height10") mschaefer@9034: public Double getHeight10() { mschaefer@9034: return this.height10; mschaefer@9034: } mschaefer@9034: mschaefer@9034: public void setHeight10(final Double height) { mschaefer@9034: this.height10 = height; mschaefer@9034: } mschaefer@9034: mschaefer@9034: @Transient mschaefer@9444: public Double getSectionHeight(final int index) { mschaefer@9444: switch (index) { mschaefer@9444: case 1: mschaefer@9444: return this.height01; mschaefer@9444: case 2: mschaefer@9444: return this.height02; mschaefer@9444: case 3: mschaefer@9444: return this.height03; mschaefer@9444: case 4: mschaefer@9444: return this.height04; mschaefer@9444: case 5: mschaefer@9444: return this.height05; mschaefer@9444: case 6: mschaefer@9444: return this.height06; mschaefer@9444: case 7: mschaefer@9444: return this.height07; mschaefer@9444: case 8: mschaefer@9444: return this.height08; mschaefer@9444: case 9: mschaefer@9444: return this.height09; mschaefer@9444: case 10: mschaefer@9444: return this.height10; mschaefer@9444: default: mschaefer@9444: throw new IllegalArgumentException(); mschaefer@9444: } mschaefer@9444: } mschaefer@9444: mschaefer@9444: @Transient mschaefer@9034: public void setSectionHeight(final int index, final Double value) { mschaefer@9034: switch (index) { mschaefer@9034: case 1: mschaefer@9034: this.height01 = value; mschaefer@9034: break; mschaefer@9034: case 2: mschaefer@9034: this.height02 = value; mschaefer@9034: break; mschaefer@9034: case 3: mschaefer@9034: this.height03 = value; mschaefer@9034: break; mschaefer@9034: case 4: mschaefer@9034: this.height04 = value; mschaefer@9034: break; mschaefer@9034: case 5: mschaefer@9034: this.height05 = value; mschaefer@9034: break; mschaefer@9034: case 6: mschaefer@9034: this.height06 = value; mschaefer@9034: break; mschaefer@9034: case 7: mschaefer@9034: this.height07 = value; mschaefer@9034: break; mschaefer@9034: case 8: mschaefer@9034: this.height08 = value; mschaefer@9034: break; mschaefer@9034: case 9: mschaefer@9034: this.height09 = value; mschaefer@9034: break; mschaefer@9034: case 10: mschaefer@9034: this.height10 = value; mschaefer@9034: break; mschaefer@9034: default: mschaefer@9034: break; mschaefer@9034: } mschaefer@9034: } mschaefer@9444: mschaefer@8975: public static List getBedHeightValues(final BedHeight single) { mschaefer@8975: final Session session = SessionHolder.HOLDER.get(); mschaefer@8975: final Query query = session.createQuery("FROM BedHeightValue WHERE bedHeight=:single"); andre@8721: query.setParameter("single", single); andre@8721: return query.list(); andre@8721: } andre@8721: ingo@2873: mschaefer@8975: public static List getBedHeightValues(final BedHeight single, final double kmLo, final double kmHi) { mschaefer@8975: final Session session = SessionHolder.HOLDER.get(); mschaefer@8975: final Query query = session.createQuery("FROM BedHeightValue WHERE (bedHeight=:single)" mschaefer@8975: + " AND (station >= :kmLo) AND (station <= :kmHi)"); ingo@2873: query.setParameter("single", single); tom@6203: query.setParameter("kmLo", new Double(kmLo)); tom@6203: query.setParameter("kmHi", new Double(kmHi)); ingo@2873: return query.list(); ingo@2873: } ingo@2809: } ingo@2809: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :