Mercurial > dive4elements > river
diff backend/src/main/java/org/dive4elements/river/model/uinfo/VegetationZone.java @ 9401:361de818f76e
Added color fields to the vegetation zone database table and importer, max days field changed from exclusive to inclusive
author | mschaefer |
---|---|
date | Tue, 14 Aug 2018 14:02:26 +0200 |
parents | 201817aa7b1c |
children |
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/model/uinfo/VegetationZone.java Tue Aug 14 11:06:00 2018 +0200 +++ b/backend/src/main/java/org/dive4elements/river/model/uinfo/VegetationZone.java Tue Aug 14 14:02:26 2018 +0200 @@ -11,6 +11,7 @@ package org.dive4elements.river.model.uinfo; import java.io.Serializable; +import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; @@ -21,6 +22,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; /** @@ -47,17 +54,27 @@ private Integer max_overflow_days; + private Integer color_r; + + private Integer color_g; + + private Integer color_b; /***** CONSTRUCTORS *****/ public VegetationZone() { } - public VegetationZone(final Vegetation vegetation, final VegetationType vegetationType, final Integer min_overflow_days, final Integer max_overflow_days) { + public VegetationZone(final Vegetation vegetation, final VegetationType vegetationType, final Integer min_overflow_days, final Integer max_overflow_days, + final Integer color_r, + final Integer color_g, final Integer color_b) { this.vegetation = vegetation; this.vegetationType = vegetationType; this.min_overflow_days = min_overflow_days; this.max_overflow_days = max_overflow_days; + this.color_r = color_r; + this.color_g = color_g; + this.color_b = color_b; } @@ -112,4 +129,49 @@ public void setMax_overflow_days(final Integer max_overflow_days) { this.max_overflow_days = max_overflow_days; } + + @Column(name = "color_r") + public Integer getColor_r() { + return this.color_r; + } + + public void setColor_r(final Integer color_r) { + this.color_r = color_r; + } + + @Column(name = "color_g") + public Integer getColor_g() { + return this.color_g; + } + + public void setColor_g(final Integer color_g) { + this.color_g = color_g; + } + + @Column(name = "color_b") + public Integer getColor_b() { + return this.color_b; + } + + public void setColor_b(final Integer color_b) { + this.color_b = color_b; + } + + @Transient + public String getColor() { + return String.format("#%02x%02x%02x", getColor_r(), getColor_g(), getColor_b()); + } + + /** + * Selects from the database the vegetation zones of a river + */ + public static List<VegetationZone> getValues(final River river) { + final Session session = SessionHolder.HOLDER.get(); + final Query query = session.createQuery("SELECT v" + + " FROM VegetationZone AS v JOIN v.vegetation AS s" + + " WHERE (s.river.id=:riverid)" + + " ORDER BY v.vegetationType.id"); + query.setParameter("riverid", river.getId()); + return query.list(); + } }