annotate flys-backend/src/main/java/de/intevation/flys/model/River.java @ 502:c6889097f81f

Importer: Fix silly bug and set Hibernate session flushing back to auto. flys-backend/trunk@1856 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 09 May 2011 00:38:13 +0000
parents b316d2106598
children ce9c6f05f464
rev   line source
167
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.model;
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
3 import java.io.Serializable;
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4
465
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
5 import java.math.BigDecimal;
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
6
168
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
7 import javax.persistence.Entity;
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
8 import javax.persistence.Id;
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
9 import javax.persistence.Table;
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
10 import javax.persistence.GeneratedValue;
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
11 import javax.persistence.Column;
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
12 import javax.persistence.SequenceGenerator;
174
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
13 import javax.persistence.OneToMany;
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
14 import javax.persistence.JoinColumn;
168
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
15 import javax.persistence.GenerationType;
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
16
174
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
17 import java.util.List;
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
18
472
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
19 import org.hibernate.Session;
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
20 import org.hibernate.Query;
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
21
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
22 import de.intevation.flys.backend.SessionHolder;
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
23
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
24
168
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
25 @Entity
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
26 @Table(name = "rivers")
167
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 public class River
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 implements Serializable
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 {
168
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
30 private Integer id;
167
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31
168
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
32 private String name;
167
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
33
174
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
34 private List<Gauge> gauges;
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
35
168
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
36 @Id
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
37 @SequenceGenerator(
171
4a83e14f40f9 Added entity and id annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 169
diff changeset
38 name = "SEQUENCE_RIVERS_ID_SEQ",
169
7929f4144d2f Bound Apache Commons DBCP with Hibernate.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 168
diff changeset
39 sequenceName = "RIVERS_ID_SEQ",
7929f4144d2f Bound Apache Commons DBCP with Hibernate.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 168
diff changeset
40 allocationSize = 1)
168
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
41 @GeneratedValue(
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
42 strategy = GenerationType.SEQUENCE,
171
4a83e14f40f9 Added entity and id annotations.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 169
diff changeset
43 generator = "SEQUENCE_RIVERS_ID_SEQ")
168
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
44 @Column(name = "id")
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
45 public Integer getId() {
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
46 return id;
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
47 }
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
48
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
49 public void setId(Integer id) {
167
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50 this.id = id;
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 }
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52
168
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
53 @Column(name = "name")
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
54 public String getName() {
86a1bd9cc50e More Hibernate/JPA stuff
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 167
diff changeset
55 return name;
167
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
56 }
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
57
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 public void setName(String name) {
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59 this.name = name;
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60 }
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
62 public River() {
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
63 }
169
7929f4144d2f Bound Apache Commons DBCP with Hibernate.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 168
diff changeset
64
7929f4144d2f Bound Apache Commons DBCP with Hibernate.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 168
diff changeset
65 public River(String name) {
7929f4144d2f Bound Apache Commons DBCP with Hibernate.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 168
diff changeset
66 this.name = name;
7929f4144d2f Bound Apache Commons DBCP with Hibernate.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 168
diff changeset
67 }
174
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
68
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
69 @OneToMany
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
70 @JoinColumn(name="river_id")
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
71 public List<Gauge> getGauges() {
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
72 return gauges;
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
73 }
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
74
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
75 public void setGauges(List<Gauge> gauges) {
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
76 this.gauges = gauges;
249390dd24e7 Added foreign key constraint annotations to model classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
77 }
188
003ac16812dd Store annotations in backend.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 174
diff changeset
78
003ac16812dd Store annotations in backend.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 174
diff changeset
79 public String toString() {
003ac16812dd Store annotations in backend.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 174
diff changeset
80 return name != null ? name : "";
003ac16812dd Store annotations in backend.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 174
diff changeset
81 }
465
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
82
472
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
83
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
84 /**
488
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
85 * This method returns the gauges that intersect with <i>a</i> and
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
86 * <i>b</i>,
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
87 *
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
88 * @param a A start point.
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
89 * @param b An end point.
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
90 *
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
91 * @return the intersecting gauges.
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
92 */
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
93 public List<Gauge> determineGauges(double a, double b) {
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
94 Session session = SessionHolder.HOLDER.get();
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
95
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
96 Query query = session.createQuery(
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
97 "from Gauge where river=:river " +
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
98 "and not (range.a > :b or range.b < :a) order by a");
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
99 query.setParameter("river", this);
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
100 query.setParameter("a", new BigDecimal(a));
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
101 query.setParameter("b", new BigDecimal(b));
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
102
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
103 return query.list();
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
104 }
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
105
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
106
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
107 /**
472
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
108 * This method returns the first gauge that is intersected by <i>a</i> and
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
109 * <i>b</i>,
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
110 *
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
111 * @param a A start point.
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
112 * @param b An end point.
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
113 *
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
114 * @return the first intersecting gauge.
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
115 */
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
116 public Gauge determineGauge(double a, double b) {
488
b316d2106598 River got a new method that returns all gauges intersected by a given start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 472
diff changeset
117 List<Gauge> gauges = determineGauges(a, b);
472
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
118
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
119 return gauges != null && gauges.size() > 0 ? gauges.get(0) : null;
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
120 }
1e196c75563b Added a new method to determine the selected gauge of a river based on a start and end point.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 465
diff changeset
121
465
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
122 /**
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
123 * Returns the min and max distance of this river. The first position in the
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
124 * resulting array contains the min distance, the second position the max
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
125 * distance.
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
126 *
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
127 * @return the min and max distance of this river.
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
128 */
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
129 public double[] determineMinMaxDistance() {
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
130 if (gauges == null) {
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
131 return null;
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
132 }
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
133
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
134 double minmax[] = new double[] { Double.MAX_VALUE, Double.MIN_VALUE };
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
135
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
136 for (Gauge g: gauges) {
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
137 Range r = g.getRange();
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
138
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
139 double a = r.getA().doubleValue();
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
140 minmax[0] = minmax[0] < a ? minmax[0] : a;
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
141
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
142 BigDecimal bigB = r.getB();
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
143 if (bigB != null) {
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
144 double b = bigB.doubleValue();
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
145 minmax[1] = minmax[1] > b ? minmax[1] : b;
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
146 }
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
147 }
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
148
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
149 return minmax;
c2c3ad4fda58 Added a method to River that returns the min and max distance of the river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 188
diff changeset
150 }
167
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
151 }
15d515fe15f5 Added POJOs to be mapped to schema.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
152 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org