changeset 8026:4b3054edbbaf

Added Hibernate mappings for new sediment load database model.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 10 Jul 2014 12:04:56 +0200
parents c915e99d9e52
children 1e327d86c898
files backend/src/main/java/org/dive4elements/river/backend/FLYSCredentials.java backend/src/main/java/org/dive4elements/river/model/SedimentLoad.java backend/src/main/java/org/dive4elements/river/model/SedimentLoadLS.java backend/src/main/java/org/dive4elements/river/model/SedimentLoadValue.java
diffstat 4 files changed, 221 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/backend/FLYSCredentials.java	Wed Jul 09 18:13:13 2014 +0200
+++ b/backend/src/main/java/org/dive4elements/river/backend/FLYSCredentials.java	Thu Jul 10 12:04:56 2014 +0200
@@ -75,6 +75,8 @@
 import org.dive4elements.river.model.SobekKind;
 import org.dive4elements.river.model.SedimentDensity;
 import org.dive4elements.river.model.SedimentDensityValue;
+import org.dive4elements.river.model.SedimentLoad;
+import org.dive4elements.river.model.SedimentLoadValue;
 import org.dive4elements.river.model.SedimentLoadLS;
 import org.dive4elements.river.model.SedimentLoadLSValue;
 import org.dive4elements.river.model.TimeInterval;
@@ -196,6 +198,8 @@
         SobekKind.class,
         SedimentDensity.class,
         SedimentDensityValue.class,
+        SedimentLoad.class,
+        SedimentLoadValue.class,
         SedimentLoadLS.class,
         SedimentLoadLSValue.class,
         SQRelation.class,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/backend/src/main/java/org/dive4elements/river/model/SedimentLoad.java	Thu Jul 10 12:04:56 2014 +0200
@@ -0,0 +1,122 @@
+/* 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.io.Serializable;
+import java.util.List;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "sediment_load")
+public class SedimentLoad
+implements   Serializable
+{
+    private Integer id;
+
+    private GrainFraction grainFraction;
+
+    private TimeInterval timeInterval;
+
+    private TimeInterval sqTimeInterval;
+
+    private String description;
+
+    private Integer kind;
+
+    private List<SedimentLoadValue> values;
+
+    public SedimentLoad() {
+    }
+
+    @Id
+    @SequenceGenerator(
+        name           = "SEQUENCE_SEDIMENT_LOAD_ID_SEQ",
+        sequenceName   = "SEDIMENT_LOAD_ID_SEQ",
+        allocationSize = 1)
+    @GeneratedValue(
+        strategy  = GenerationType.SEQUENCE,
+        generator = "SEQUENCE_SEDIMENT_LOAD_ID_SEQ")
+    @Column(name = "id")
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    @OneToOne
+    @JoinColumn(name="grain_fraction_id")
+    public GrainFraction getGrainFraction() {
+        return grainFraction;
+    }
+
+    public void setGrainFraction(GrainFraction grainFraction) {
+        this.grainFraction = grainFraction;
+    }
+
+    @OneToOne
+    @JoinColumn(name = "time_interval_id")
+    public TimeInterval getTimeInterval() {
+        return timeInterval;
+    }
+
+    public void setTimeInterval(TimeInterval timeInterval) {
+        this.timeInterval = timeInterval;
+    }
+
+    @OneToOne
+    @JoinColumn(name = "sq_time_interval_id")
+    public TimeInterval getSQTimeInterval() {
+        return sqTimeInterval;
+    }
+
+    public void setSQTimeInterval(TimeInterval sqTimeInterval) {
+        this.sqTimeInterval = sqTimeInterval;
+    }
+
+    @Column(name = "description")
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    /** kind == 0: "normal", kind == 1: "official epoch". */
+    @Column(name = "kind")
+    public Integer getKind() {
+        return kind;
+    }
+
+    public void setKind(Integer newKind) {
+        this.kind = newKind;
+    }
+
+    @OneToMany
+    @JoinColumn(name="sediment_load_id")
+    public List<SedimentLoadValue> getSedimentLoadValues() {
+        return values;
+    }
+
+    public void setSedimentLoadValues(List<SedimentLoadValue> values) {
+        this.values = values;
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/backend/src/main/java/org/dive4elements/river/model/SedimentLoadLS.java	Wed Jul 09 18:13:13 2014 +0200
+++ b/backend/src/main/java/org/dive4elements/river/model/SedimentLoadLS.java	Thu Jul 10 12:04:56 2014 +0200
@@ -14,6 +14,7 @@
 
 import javax.persistence.Entity;
 import javax.persistence.Id;
+import javax.persistence.OneToMany;
 import javax.persistence.Table;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Column;
@@ -22,8 +23,6 @@
 import javax.persistence.JoinColumn;
 import javax.persistence.OneToOne;
 
-import org.apache.log4j.Logger;
-
 
 /** SedimentYield of a certain Fraction with possibly many values. */
 @Entity
@@ -31,8 +30,6 @@
 public class SedimentLoadLS
 implements   Serializable
 {
-    private static Logger logger = Logger.getLogger(SedimentLoadLS.class);
-
     private Integer id;
 
     private River river;
@@ -51,7 +48,6 @@
 
 
     public SedimentLoadLS() {
-        this.values = new ArrayList<SedimentLoadLSValue>();
     }
 
     public SedimentLoadLS(River river, Unit unit, TimeInterval timeInterval) {
@@ -162,5 +158,15 @@
     public void setKind(Integer newKind) {
         this.kind = newKind;
     }
+
+    @OneToMany
+    @JoinColumn(name="sediment_yield_id")
+    public List<SedimentLoadLSValue> getSedimentLoadLSValues() {
+        return values;
+    }
+
+    public void setSedimentLoadLSValues(List<SedimentLoadLSValue> values) {
+        this.values = values;
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/backend/src/main/java/org/dive4elements/river/model/SedimentLoadValue.java	Thu Jul 10 12:04:56 2014 +0200
@@ -0,0 +1,84 @@
+/* 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.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "sediment_load_value")
+public class SedimentLoadValue
+implements   Serializable
+{
+    private Integer id;
+
+    private SedimentLoad sedimentLoad;
+
+    private MeasurementStation measurementStation;
+
+    private Double value;
+
+    public SedimentLoadValue() {
+    }
+
+    @Id
+    @SequenceGenerator(
+        name           = "SEQUENCE_SEDIMENT_LOAD_VALUES_ID_SEQ",
+        sequenceName   = "SEDIMENT_LOAD_VALUES_ID_SEQ",
+        allocationSize = 1)
+    @GeneratedValue(
+        strategy  = GenerationType.SEQUENCE,
+        generator = "SEQUENCE_SEDIMENT_LOAD_VALUES_ID_SEQ")
+    @Column(name = "id")
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    @OneToOne
+    @JoinColumn(name = "sediment_load_id")
+    public SedimentLoad getSedimentLoad() {
+        return sedimentLoad;
+    }
+
+    public void setSedimentLoad(SedimentLoad sedimentLoad) {
+        this.sedimentLoad = sedimentLoad;
+    }
+
+    @OneToOne
+    @JoinColumn(name = "measurement_station_id")
+    public MeasurementStation getMeasurementStation() {
+        return measurementStation;
+    }
+
+    public void setMeasurementStation(MeasurementStation measurementStation) {
+        this.measurementStation = measurementStation;
+    }
+
+    @Column(name = "value")
+    public Double getValue() {
+        return value;
+    }
+
+    public void setValue(Double value) {
+        this.value = value;
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org