annotate backend/src/main/java/org/dive4elements/river/model/sinfo/CollisionValue.java @ 9160:38e8febd11b6

Added methods to select collision values and collision counts
author mschaefer
date Tue, 19 Jun 2018 14:24:41 +0200
parents 623b51bf03d7
children
rev   line source
8971
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
1 /* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
2 * Software engineering by
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
5 *
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
9 */
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
10
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
11 package org.dive4elements.river.model.sinfo;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
12
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
13 import java.io.Serializable;
9160
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
14 import java.util.ArrayList;
8971
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
15 import java.util.Date;
9117
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
16 import java.util.List;
8971
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
17
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
18 import javax.persistence.Column;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
19 import javax.persistence.Entity;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
20 import javax.persistence.GeneratedValue;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
21 import javax.persistence.GenerationType;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
22 import javax.persistence.Id;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
23 import javax.persistence.JoinColumn;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
24 import javax.persistence.OneToOne;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
25 import javax.persistence.SequenceGenerator;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
26 import javax.persistence.Table;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
27
9117
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
28 import org.dive4elements.river.backend.SessionHolder;
9160
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
29 import org.dive4elements.river.model.River;
9117
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
30 import org.hibernate.Query;
9160
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
31 import org.hibernate.SQLQuery;
9117
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
32 import org.hibernate.Session;
9160
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
33 import org.hibernate.type.StandardBasicTypes;
9117
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
34
8971
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
35
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
36 /**
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
37 * Hibernate binding for the DB table collision_values
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
38 *
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
39 * @author Matthias Schäfer
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
40 *
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
41 */
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
42 @Entity
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
43 @Table(name = "collision_values")
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
44 public class CollisionValue implements Serializable {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
45
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
46 /***** FIELDS *****/
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
47
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
48 private static final long serialVersionUID = -1157324854470346513L;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
49
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
50 private Integer id;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
51
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
52 private Collision collision;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
53
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
54 private Double station;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
55
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
56 private CollisionType collisionType;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
57
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
58 private Date eventDate;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
59
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
60 private String gaugeName;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
61
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
62 private Double gaugeW;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
63
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
64
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
65 /***** CONSTRUCTORS *****/
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
66
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
67 public CollisionValue() {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
68 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
69
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
70 public CollisionValue(final Collision collision, final Double station, final CollisionType collisionType, final Date eventDate, final String gaugeName,
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
71 final Double gaugeW) {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
72 this.collision = collision;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
73 this.station = station;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
74 this.collisionType = collisionType;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
75 this.eventDate = eventDate;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
76 this.gaugeName = gaugeName;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
77 this.gaugeW = gaugeW;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
78 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
79
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
80 /**
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
81 * Constructor with primitive parameter types
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
82 */
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
83 public CollisionValue(final Collision collision, final double km, final CollisionType collisionType, final Date eventDate, final String gaugeName,
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
84 final double gaugeW) {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
85 this(collision, Double.valueOf(km), collisionType, eventDate, gaugeName, Double.valueOf(gaugeW));
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
86 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
87
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
88
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
89 /***** METHODS *****/
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
90
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
91 @Id
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
92 @SequenceGenerator(name = "SEQUENCE_COLLISION_VALUE_ID_SEQ", sequenceName = "COLLISION_VALUES_ID_SEQ", allocationSize = 1)
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
93 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQUENCE_COLLISION_VALUE_ID_SEQ")
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
94 @Column(name = "id")
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
95 public Integer getId() {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
96 return this.id;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
97 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
98
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
99 public void setId(final Integer id) {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
100 this.id = id;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
101 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
102
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
103 @OneToOne
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
104 @JoinColumn(name = "collision_id")
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
105 public Collision getCollision() {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
106 return this.collision;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
107 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
108
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
109 public void setCollision(final Collision collision) {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
110 this.collision = collision;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
111 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
112
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
113 @Column(name = "station")
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
114 public Double getStation() {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
115 return this.station;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
116 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
117
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
118 public void setStation(final Double station) {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
119 this.station = station;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
120 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
121
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
122 @OneToOne
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
123 @JoinColumn(name = "collision_type_id")
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
124 public CollisionType getCollisionType() {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
125 return this.collisionType;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
126 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
127
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
128 public void setCollisionType(final CollisionType collisionType) {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
129 this.collisionType = collisionType;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
130 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
131
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
132 @Column(name = "event_date")
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
133 public Date getEventDate() {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
134 return this.eventDate;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
135 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
136
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
137 public void setEventDate(final Date eventDate) {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
138 this.eventDate = eventDate;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
139 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
140
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
141 @Column(name = "gauge_name")
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
142 public String getGaugeName() {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
143 return this.gaugeName;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
144 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
145
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
146 public void setGaugeName(final String gaugeName) {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
147 this.gaugeName = gaugeName;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
148 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
149
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
150 @Column(name = "gauge_w")
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
151 public Double getGaugeW() {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
152 return this.gaugeW;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
153 }
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
154
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
155 public void setGaugeW(final Double gaugeW) {
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
156 this.gaugeW = gaugeW;
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
157 }
9117
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
158
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
159 /**
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
160 * Selects the collision values of a data series in a km range from the database
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
161 */
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
162 public static List<CollisionValue> getValues(final Collision parent, final double kmLo, final double kmHi) {
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
163 final Session session = SessionHolder.HOLDER.get();
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
164 final Query query = session.createQuery("FROM CollisionValue WHERE (collision=:parent)"
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
165 + " AND (station >= :kmLo - 0.0001) AND (station <= :kmHi + 0.0001)");
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
166 query.setParameter("parent", parent);
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
167 query.setParameter("kmLo", new Double(kmLo));
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
168 query.setParameter("kmHi", new Double(kmHi));
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
169 return query.list();
623b51bf03d7 Added datacage select and chart display for river bed collision counts loaded from database
mschaefer
parents: 8971
diff changeset
170 }
9160
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
171 /**
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
172 * Selects from the database the collision values of a km range of a river and a date range
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
173 */
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
174 public static List<CollisionValue> getValues(final River river, final double kmLo, final double kmHi, final Date fromDate, final Date toDate) {
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
175 final Session session = SessionHolder.HOLDER.get();
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
176 final SQLQuery query = session.createSQLQuery("SELECT station, event_date, gauge_w, gauge_name, ct.name AS collisiontype"
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
177 + " FROM collision_values v INNER JOIN collision s ON v.collision_id=s.id"
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
178 + " INNER JOIN collision_type ct ON v.collision_type_id=ct.id"
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
179 + " WHERE (s.river_id=:river_id)"
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
180 + " AND (station BETWEEN (:kmLo - 0.0001) AND (:kmHi + 0.0001))"
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
181 + " AND (event_date BETWEEN :fromDate AND :toDate)"
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
182 + " ORDER BY station, event_date")
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
183 .addScalar("station", StandardBasicTypes.DOUBLE)
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
184 .addScalar("event_date", StandardBasicTypes.DATE)
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
185 .addScalar("gauge_w", StandardBasicTypes.DOUBLE)
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
186 .addScalar("gauge_name", StandardBasicTypes.STRING)
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
187 .addScalar("collisiontype", StandardBasicTypes.STRING);
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
188 query.setInteger("river_id", river.getId());
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
189 query.setDouble("kmLo", new Double(kmLo));
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
190 query.setDouble("kmHi", new Double(kmHi));
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
191 query.setDate("fromDate", fromDate);
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
192 query.setDate("toDate", toDate);
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
193 return buildCollisionValueList(query.list());
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
194 }
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
195
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
196 private static List<CollisionValue> buildCollisionValueList(final List<Object[]> rows) {
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
197 final List<CollisionValue> values = new ArrayList<>();
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
198 for (int i = 0; i <= rows.size() - 1; i++)
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
199 values.add(new CollisionValue(null, (double) rows.get(i)[0], null, (Date) rows.get(i)[1], (String) rows.get(i)[3], (double) rows.get(i)[2]));
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
200 return values;
38e8febd11b6 Added methods to select collision values and collision counts
mschaefer
parents: 9117
diff changeset
201 }
8971
50416a0df385 Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff changeset
202 }

http://dive4elements.wald.intevation.org