annotate backend/src/main/java/org/dive4elements/river/model/OfficialLine.java @ 8755:30b1ddadf275

(issue1801) Unify reference gauge finding code The basic way as described in the method comment of the determineRefGauge method is now used in the WINFOArtifact, MainValuesService and RiverUtils.getGauge method. RiverUtils.getGauge previously just returned the first gauge found. While this is now a behavior change I believe that it is always more correct then the undeterministic behavior of the previous implmenentation.
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 24 Jun 2015 14:07:26 +0200
parents df867072d003
children
rev   line source
6313
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
3 *
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
7 */
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
8
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
9 package org.dive4elements.river.model;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
10
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
11 import java.io.Serializable;
6408
efadb301549e Backend: Re-inserted OfficialLine.fetchAllOfficalLines()
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6313
diff changeset
12 import java.util.List;
6313
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
13
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
14 import javax.persistence.Column;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
15 import javax.persistence.Entity;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
16 import javax.persistence.GeneratedValue;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
17 import javax.persistence.GenerationType;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
18 import javax.persistence.Id;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
19 import javax.persistence.JoinColumn;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
20 import javax.persistence.OneToOne;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
21 import javax.persistence.SequenceGenerator;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
22 import javax.persistence.Table;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
23
6408
efadb301549e Backend: Re-inserted OfficialLine.fetchAllOfficalLines()
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6313
diff changeset
24 import org.dive4elements.river.backend.SessionHolder;
efadb301549e Backend: Re-inserted OfficialLine.fetchAllOfficalLines()
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6313
diff changeset
25 import org.hibernate.Session;
efadb301549e Backend: Re-inserted OfficialLine.fetchAllOfficalLines()
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6313
diff changeset
26
6313
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
27 @Entity
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
28 @Table(name = "official_lines")
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
29 public class OfficialLine
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
30 implements Serializable
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
31 {
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
32
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
33 private Integer id;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
34 private WstColumn wstColumn;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
35 private NamedMainValue namedMainValue;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
36
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
37 public OfficialLine() {
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
38 }
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
39
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
40 public OfficialLine(WstColumn wstColumn, NamedMainValue namedMainValue) {
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
41 this.wstColumn = wstColumn;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
42 this.namedMainValue = namedMainValue;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
43 }
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
44
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
45 @Id
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
46 @SequenceGenerator(
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
47 name = "SEQUENCE_OFFICIAL_LINES_ID_SEQ",
6370
55a2f9e0d6ab fix official lines import
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6313
diff changeset
48 sequenceName = "OFFICIAL_LINES_ID_SEQ",
6313
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
49 allocationSize = 1)
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
50 @GeneratedValue(
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
51 strategy = GenerationType.SEQUENCE,
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
52 generator = "SEQUENCE_OFFICIAL_LINES_ID_SEQ")
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
53 @Column(name = "id")
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
54 public Integer getId() {
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
55 return id;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
56 }
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
57
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
58 public void setId(Integer id) {
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
59 this.id = id;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
60 }
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
61
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
62 @OneToOne
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
63 @JoinColumn(name = "wst_column_id" )
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
64 public WstColumn getWstColumn() {
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
65 return wstColumn;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
66 }
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
67
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
68 public void setWstColumn(WstColumn wstColumn) {
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
69 this.wstColumn = wstColumn;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
70 }
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
71
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
72 @OneToOne
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
73 @JoinColumn(name = "named_main_value_id" )
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
74 public NamedMainValue getNamedMainValue() {
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
75 return namedMainValue;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
76 }
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
77
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
78 public void setNamedMainValue(NamedMainValue namedMainValue) {
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
79 this.namedMainValue = namedMainValue;
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
80 }
6408
efadb301549e Backend: Re-inserted OfficialLine.fetchAllOfficalLines()
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6313
diff changeset
81
efadb301549e Backend: Re-inserted OfficialLine.fetchAllOfficalLines()
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6313
diff changeset
82 public static List<OfficialLine> fetchAllOfficalLines() {
efadb301549e Backend: Re-inserted OfficialLine.fetchAllOfficalLines()
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6313
diff changeset
83 Session session = SessionHolder.HOLDER.get();
6409
19066b1220b5 Backend: Fixed broken HQL statement in OfficialLine.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6408
diff changeset
84 return session.createQuery("from OfficialLine").list();
6408
efadb301549e Backend: Re-inserted OfficialLine.fetchAllOfficalLines()
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6313
diff changeset
85 }
6313
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
86 }
38a3f021fd97 Backend: Add Hibernate model for official lines.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
87 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org