Mercurial > dive4elements > river
annotate backend/src/main/java/org/dive4elements/river/model/SQRelation.java @ 6229:3fea9701d58d
Fix gauge determination.
If we look upstream ( a > b ) we still have to compare
the start value of our range against the gauge and not the end
value. The start value is always the relevant value as we
handle the direction by checking this against A or B of the gauge.
Also:
I will never compare doubles with == again.
I will never compare doubles with == again.
I will never compare doubles with == again.
I will never compare doubles with == again.
I will never compare doubles with == again.
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Thu, 06 Jun 2013 18:23:17 +0200 |
parents | 4c3ccf2b0304 |
children | c851d1ea543a |
rev | line source |
---|---|
5844
4dd33b86dc61
Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
4dd33b86dc61
Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4dd33b86dc61
Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5992
4c3ccf2b0304
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5844
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5844
4dd33b86dc61
Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5992
4c3ccf2b0304
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5844
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5844
4dd33b86dc61
Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
4dd33b86dc61
Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5829
18619c1e7c2a
Repaired internal references.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5828
diff
changeset
|
9 package org.dive4elements.river.model; |
3321
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import java.io.Serializable; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import java.util.List; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import javax.persistence.Entity; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 import javax.persistence.Id; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 import javax.persistence.Table; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 import javax.persistence.GeneratedValue; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 import javax.persistence.Column; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 import javax.persistence.SequenceGenerator; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 import javax.persistence.OneToMany; |
3329
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
22 import javax.persistence.OneToOne; |
3321
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 import javax.persistence.JoinColumn; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 import javax.persistence.GenerationType; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 @Entity |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 @Table(name = "sq_relation") |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 public class SQRelation implements Serializable { |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 private Integer id; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 |
3329
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
33 private River river; |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
34 |
3321
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 private TimeInterval timeInterval; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 private String description; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 private List<SQRelationValue> values; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 |
3329
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
42 protected SQRelation() { |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
43 } |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
44 |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
45 |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
46 public SQRelation(River river, TimeInterval timeInterval, String desc) { |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
47 this.river = river; |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
48 this.timeInterval = timeInterval; |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
49 this.description = desc; |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
50 } |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
51 |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
52 |
3321
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 @Id |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 @SequenceGenerator( |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 name = "SEQUENCE_SQ_ID_SEQ", |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 sequenceName = "SQ_RELATION_ID_SEQ", |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 allocationSize = 1) |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 @GeneratedValue( |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 strategy = GenerationType.SEQUENCE, |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 generator = "SEQUENCE_SQ_ID_SEQ") |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 @Column(name = "id") |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 public Integer getId() { |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 return id; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 } |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 public void setId(Integer id) { |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 this.id = id; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 } |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 |
3329
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
71 @OneToOne |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
72 @JoinColumn(name = "river_id") |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
73 public River getRiver() { |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
74 return river; |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
75 } |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
76 |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
77 public void setRiver(River river) { |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
78 this.river = river; |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
79 } |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
80 |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
81 |
3321
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 @Column(name = "description") |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 public String getDescription() { |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 return description; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 } |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 public void setDescription(String description) { |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 this.description = description; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 } |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 |
3329
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
92 @OneToOne |
cc8fc6b29649
Store sq relations into database after parsing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3321
diff
changeset
|
93 @JoinColumn(name = "time_interval_id") |
3321
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 public TimeInterval getTimeInterval() { |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 return timeInterval; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 } |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 public void setTimeInterval(TimeInterval timeInterval) { |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 this.timeInterval = timeInterval; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 } |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
102 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 @OneToMany |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
104 @JoinColumn(name = "sq_relation_id") |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 public List<SQRelationValue> getValues() { |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 return values; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 } |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
108 |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 public void setValues(List<SQRelationValue> values) { |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 this.values = values; |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 } |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
112 } |
a2a33eff93aa
Improved minfo db schema and added model classes for s/q relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |