diff backend/src/main/java/org/dive4elements/river/model/sinfo/DepthEvolution.java @ 9032:1f63e9d3b0ec

New columns for bed_height, tkh and depth_evolution, a few syntactic corrections for Oracle
author mschaefer
date Fri, 27 Apr 2018 17:35:12 +0200
parents 50416a0df385
children 4c5eeaff554c
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/model/sinfo/DepthEvolution.java	Fri Apr 27 11:34:04 2018 +0200
+++ b/backend/src/main/java/org/dive4elements/river/model/sinfo/DepthEvolution.java	Fri Apr 27 17:35:12 2018 +0200
@@ -24,8 +24,12 @@
 import javax.persistence.OneToOne;
 import javax.persistence.SequenceGenerator;
 import javax.persistence.Table;
+import javax.persistence.Transient;
 
+import org.dive4elements.river.backend.SessionHolder;
 import org.dive4elements.river.model.River;
+import org.hibernate.Query;
+import org.hibernate.Session;
 
 /**
  * Hibernate binding for the DB table depth_evolution
@@ -38,6 +42,41 @@
 @Table(name = "depth_evolution")
 public class DepthEvolution implements Serializable {
 
+    /***** TYPES *****/
+
+    /**
+     * Possible values of the groupname column
+     *
+     */
+    public enum Group {
+        NONE(""), AKTUELL("aktuell"), ETAPPE("etappe");
+
+        private final String dbvalue;
+
+        Group(final String dbvalue) {
+            this.dbvalue = dbvalue;
+        }
+
+        /**
+         * Value of the group's groupname column
+         */
+        public String getDbValue() {
+            return this.dbvalue;
+        }
+
+        /**
+         * Group for a groupname column value
+         */
+        public static Group forDbValue(final String dbvalue) {
+            for (final Group g : Group.values()) {
+                if (g.getDbValue().equals(dbvalue))
+                    return g;
+            }
+            return Group.NONE;
+        }
+    }
+
+
     /***** FIELDS *****/
 
     private static final long serialVersionUID = 2665718161356165179L;
@@ -50,6 +89,8 @@
 
     private String filename;
 
+    private transient Group group;
+
     private String comment;
 
     private Integer start_year;
@@ -73,7 +114,8 @@
     }
 
     public DepthEvolution(final River river, final String filename, final String kmrange_info, final String comment, final Integer start_year,
-            final Integer reference_year, final String curr_sounding, final String old_sounding, final String curr_glw, final String old_glw) {
+            final Integer reference_year, final String curr_sounding, final String old_sounding, final String curr_glw, final String old_glw,
+            final Group group) {
         this.river = river;
         this.filename = filename;
         this.kmrange_info = kmrange_info;
@@ -84,6 +126,7 @@
         this.old_sounding = old_sounding;
         this.curr_glw = curr_glw;
         this.old_glw = old_glw;
+        this.group = group;
         this.values = new ArrayList<>();
     }
 
@@ -120,6 +163,24 @@
         this.filename = filename;
     }
 
+    @Column(name = "groupname")
+    public String getGroupname() {
+        return this.group.getDbValue();
+    }
+
+    public void setGroupname(final String groupname) {
+        this.group = Group.forDbValue(groupname);
+    }
+
+    @Transient
+    public Group getGroup() {
+        return this.group;
+    }
+
+    public void setGroup(final Group group) {
+        this.group = group;
+    }
+
     @Column(name = "kmrange_info")
     public String getKmrange_info() {
         return this.kmrange_info;
@@ -205,4 +266,14 @@
     public void addValue(final DepthEvolutionValue value) {
         this.values.add(value);
     }
+
+    /**
+     * Get data series by id
+     */
+    public static DepthEvolution getSeries(final int id) {
+        final Session session = SessionHolder.HOLDER.get();
+        final Query query = session.createQuery("FROM DepthEvolution WHERE (id=:id)");
+        query.setParameter("id", id);
+        return (DepthEvolution) query.list().get(0);
+    }
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org