changeset 2842:0d55b7722fae

Added new model classes for MINFO specific waterlevel data. flys-backend/trunk@4281 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 20 Apr 2012 07:40:48 +0000
parents 6be2bf2492f9
children 6a9f45697f81
files flys-backend/ChangeLog flys-backend/src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java flys-backend/src/main/java/de/intevation/flys/model/Waterlevel.java flys-backend/src/main/java/de/intevation/flys/model/WaterlevelQRange.java flys-backend/src/main/java/de/intevation/flys/model/WaterlevelValue.java
diffstat 5 files changed, 319 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/flys-backend/ChangeLog	Fri Apr 20 06:59:03 2012 +0000
+++ b/flys-backend/ChangeLog	Fri Apr 20 07:40:48 2012 +0000
@@ -1,3 +1,13 @@
+2012-04-20  Ingo Weinzierl <ingo@intevation.de>
+
+	* src/main/java/de/intevation/flys/model/WaterlevelQRange.java,
+	  src/main/java/de/intevation/flys/model/WaterlevelValue.java,
+	  src/main/java/de/intevation/flys/model/Waterlevel.java: New model
+	  classes for MINFO specific waterlevel data.
+
+	* src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java:
+	  Registered new model classes.
+
 2012-04-20  Ingo Weinzierl <ingo@intevation.de>
 
 	* doc/schema/oracle-minfo.sql,
--- a/flys-backend/src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java	Fri Apr 20 06:59:03 2012 +0000
+++ b/flys-backend/src/main/java/de/intevation/flys/backend/SessionFactoryProvider.java	Fri Apr 20 07:40:48 2012 +0000
@@ -75,6 +75,9 @@
 import de.intevation.flys.model.SedimentYieldValue;
 import de.intevation.flys.model.TimeInterval;
 import de.intevation.flys.model.Unit;
+import de.intevation.flys.model.Waterlevel;
+import de.intevation.flys.model.WaterlevelQRange;
+import de.intevation.flys.model.WaterlevelValue;
 import de.intevation.flys.model.WstColumn;
 import de.intevation.flys.model.WstColumnQRange;
 import de.intevation.flys.model.WstColumnValue;
@@ -284,6 +287,9 @@
         cfg.addAnnotatedClass(SedimentYieldValue.class);
         cfg.addAnnotatedClass(TimeInterval.class);
         cfg.addAnnotatedClass(Unit.class);
+        cfg.addAnnotatedClass(Waterlevel.class);
+        cfg.addAnnotatedClass(WaterlevelQRange.class);
+        cfg.addAnnotatedClass(WaterlevelValue.class);
         cfg.addAnnotatedClass(WstColumn.class);
         cfg.addAnnotatedClass(WstColumnQRange.class);
         cfg.addAnnotatedClass(WstColumnValue.class);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-backend/src/main/java/de/intevation/flys/model/Waterlevel.java	Fri Apr 20 07:40:48 2012 +0000
@@ -0,0 +1,113 @@
+package de.intevation.flys.model;
+
+import java.io.Serializable;
+import java.util.List;
+
+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 javax.persistence.OneToMany;
+
+import org.apache.log4j.Logger;
+
+
+
+
+@Entity
+@Table(name = "waterlevel")
+public class Waterlevel
+implements   Serializable
+{
+    private static Logger logger = Logger.getLogger(Waterlevel.class);
+
+    private Integer id;
+
+    private River river;
+
+    private Unit unit;
+
+    private String  description;
+
+    private List<WaterlevelQRange> qRanges;
+
+
+    public Waterlevel() {
+    }
+
+    public Waterlevel(River river, Unit unit) {
+        this.river = river;
+        this.unit  = unit;
+    }
+
+    public Waterlevel(River river, Unit unit, String description) {
+        this(river, unit);
+        this.description = description;
+    }
+
+    @Id
+    @SequenceGenerator(
+        name           = "SEQUENCE_WATERLEVEL_ID_SEQ",
+        sequenceName   = "WATERLEVEL_ID_SEQ",
+        allocationSize = 1)
+    @GeneratedValue(
+        strategy  = GenerationType.SEQUENCE,
+        generator = "SEQUENCE_WATERLEVEL_ID_SEQ")
+    @Column(name = "id")
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    @OneToOne
+    @JoinColumn(name = "river_id" )
+    public River getRiver() {
+        return river;
+    }
+
+    public void setRiver(River river) {
+        this.river = river;
+    }
+
+    @OneToOne
+    @JoinColumn(name = "unit_id")
+    public Unit getUnit() {
+        return unit;
+    }
+
+    public void setUnit(Unit unit) {
+        this.unit = unit;
+    }
+
+    @Column(name = "description")
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    @OneToMany
+    @JoinColumn(name="waterlevel_id")
+    public List<WaterlevelQRange> getQRanges() {
+        return qRanges;
+    }
+
+    public void setQRanges(List<WaterlevelQRange> qRanges) {
+        this.qRanges = qRanges;
+    }
+
+    public void addQRange(WaterlevelQRange qRange) {
+        qRanges.add(qRange);
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-backend/src/main/java/de/intevation/flys/model/WaterlevelQRange.java	Fri Apr 20 07:40:48 2012 +0000
@@ -0,0 +1,100 @@
+package de.intevation.flys.model;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+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 javax.persistence.OneToMany;
+
+import org.apache.log4j.Logger;
+
+
+
+
+@Entity
+@Table(name = "waterlevel_q_range")
+public class WaterlevelQRange
+implements   Serializable
+{
+    private static Logger logger = Logger.getLogger(WaterlevelQRange.class);
+
+    private Integer id;
+
+    private Waterlevel waterlevel;
+
+    private Double q;
+
+    private List<WaterlevelValue> values;
+
+
+    public WaterlevelQRange() {
+        this.values = new ArrayList<WaterlevelValue>();
+    }
+
+    public WaterlevelQRange(Waterlevel waterlevel, Double q) {
+        this();
+        this.q          = q;
+        this.waterlevel = waterlevel;
+    }
+
+
+    @Id
+    @SequenceGenerator(
+        name           = "SEQUENCE_WATERLEVEL_Q_RANGE_ID_SEQ",
+        sequenceName   = "WATERLEVEL_Q_RANGES_ID_SEQ",
+        allocationSize = 1)
+    @GeneratedValue(
+        strategy  = GenerationType.SEQUENCE,
+        generator = "SEQUENCE_WATERLEVEL_Q_RANGE_ID_SEQ")
+    @Column(name = "id")
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    @OneToOne
+    @JoinColumn(name = "waterlevel_id" )
+    public Waterlevel getWaterlevel() {
+        return waterlevel;
+    }
+
+    public void setWaterlevel(Waterlevel waterlevel) {
+        this.waterlevel = waterlevel;
+    }
+
+    @Column(name = "q")
+    public Double getQ() {
+        return q;
+    }
+
+    public void setQ(Double q) {
+        this.q = q;
+    }
+
+    @OneToMany
+    @Column(name = "waterlevel_q_range_id")
+    public List<WaterlevelValue> getValues() {
+        return values;
+    }
+
+    public void setValues(List<WaterlevelValue> values) {
+        this.values = values;
+    }
+
+    public void addValue(WaterlevelValue value) {
+        values.add(value);
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-backend/src/main/java/de/intevation/flys/model/WaterlevelValue.java	Fri Apr 20 07:40:48 2012 +0000
@@ -0,0 +1,90 @@
+package de.intevation.flys.model;
+
+import java.io.Serializable;
+
+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;
+
+
+
+
+@Entity
+@Table(name = "waterlevel_values")
+public class WaterlevelValue
+implements   Serializable
+{
+    private static Logger logger = Logger.getLogger(WaterlevelValue.class);
+
+    private Integer id;
+
+    private WaterlevelQRange qRange;
+
+    private Double station;
+    private Double w;
+
+
+    public WaterlevelValue() {
+    }
+
+    public WaterlevelValue(WaterlevelQRange qRange, Double station, Double w) {
+        this.qRange  = qRange;
+        this.station = station;
+        this.w       = w;
+    }
+
+
+    @Id
+    @SequenceGenerator(
+        name           = "SEQUENCE_WATERLEVEL_VALUES_ID_SEQ",
+        sequenceName   = "WATERLEVEL_VALUES_ID_SEQ",
+        allocationSize = 1)
+    @GeneratedValue(
+        strategy  = GenerationType.SEQUENCE,
+        generator = "SEQUENCE_WATERLEVEL_VALUES_ID_SEQ")
+    @Column(name = "id")
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    @OneToOne
+    @JoinColumn(name = "waterlevel_q_range_id" )
+    public WaterlevelQRange getQRange() {
+        return qRange;
+    }
+
+    public void setQRange(WaterlevelQRange qRange) {
+        this.qRange = qRange;
+    }
+
+    @Column(name = "station")
+    public Double getStation() {
+        return station;
+    }
+
+    public void setStation(Double station) {
+        this.station = station;
+    }
+
+    @Column(name = "w")
+    public Double getW() {
+        return w;
+    }
+
+    public void setW(Double w) {
+        this.w = w;
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org