Mercurial > dive4elements > river
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