Mercurial > dive4elements > river
annotate backend/src/main/java/org/dive4elements/river/model/RiverAxis.java @ 6269:5b1cc816fcdb
Doc.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 11 Jun 2013 12:05:01 +0200 |
parents | 4c3ccf2b0304 |
children | e9d912c97fa8 |
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:
5870
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:
5870
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; |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
5870
df01095257ad
River backend: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5844
diff
changeset
|
11 import com.vividsolutions.jts.geom.MultiLineString; |
df01095257ad
River backend: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5844
diff
changeset
|
12 |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import java.io.Serializable; |
5870
df01095257ad
River backend: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5844
diff
changeset
|
14 |
1231
22eea1c9e907
Added a function in RiverAxis to retrieve the RiverAxis of a given river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1230
diff
changeset
|
15 import java.util.List; |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 import javax.persistence.Column; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 import javax.persistence.Entity; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 import javax.persistence.Id; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 import javax.persistence.JoinColumn; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 import javax.persistence.OneToOne; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 import javax.persistence.Table; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 |
5870
df01095257ad
River backend: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5844
diff
changeset
|
24 import org.dive4elements.river.backend.SessionHolder; |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 |
5870
df01095257ad
River backend: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5844
diff
changeset
|
26 import org.hibernate.HibernateException; |
df01095257ad
River backend: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5844
diff
changeset
|
27 import org.hibernate.Query; |
df01095257ad
River backend: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5844
diff
changeset
|
28 import org.hibernate.Session; |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 |
5870
df01095257ad
River backend: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5844
diff
changeset
|
30 import org.hibernate.annotations.Type; |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 |
2375
61cb16549eb1
Modified the signature of RiverAxis.getRiverAxis() which now returns a list of RiverAxis objects instead of a single instance.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1231
diff
changeset
|
32 /** |
5146
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
33 * A river has one axis that is used for calculation. |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
34 * Additional axes of a river can be used to be painted int maps etc. |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
35 * which one is the main river axis can be determined over the axis kind. |
2375
61cb16549eb1
Modified the signature of RiverAxis.getRiverAxis() which now returns a list of RiverAxis objects instead of a single instance.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1231
diff
changeset
|
36 */ |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 @Entity |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 @Table(name = "river_axes") |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 public class RiverAxis |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 implements Serializable |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 { |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 private Integer id; |
5146
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
43 private AxisKind kind; |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 private River river; |
5477
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
45 private String name; |
5140
18ef819a7c92
Changed river axis from LineString to MultiLineString.
Raimund Renkert <rrenkert@intevation.de>
parents:
4736
diff
changeset
|
46 private MultiLineString geom; |
4736
b195fede1c3b
Remove trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3959
diff
changeset
|
47 |
5146
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
48 public static final int KIND_UNKOWN = 0; |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
49 public static final int KIND_CURRENT = 1; |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
50 public static final int KIND_OTHER = 2; |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 public RiverAxis() { |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 } |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 @Id |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 @Column(name = "id") |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 public Integer getId() { |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 return id; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 } |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 public void setId(Integer id) { |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 this.id = id; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 } |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 @OneToOne |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 @JoinColumn(name = "river_id") |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 public River getRiver() { |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
71 return river; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 } |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 public void setRiver(River river) { |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 this.river = river; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 } |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 |
5477
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
79 @Column(name = "name") |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
80 public String getName() { |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
81 return name; |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
82 } |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
83 |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
84 |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
85 public void setName(String name) { |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
86 this.name = name; |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
87 } |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 |
5146
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
89 /** |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
90 * Get kind. |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
91 * |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
92 * @return kind as AxisKind. |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
93 */ |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
94 @OneToOne |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
95 @JoinColumn(name = "kind_id") |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
96 public AxisKind getKind() { |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 return kind; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 } |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 |
5146
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
100 /** |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
101 * Set kind. |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
102 * |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
103 * @param kind the value to set. |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
104 */ |
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
105 public void setKind(AxisKind kind) { |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 this.kind = kind; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 } |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
108 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 @Column(name = "geom") |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 @Type(type = "org.hibernatespatial.GeometryUserType") |
5140
18ef819a7c92
Changed river axis from LineString to MultiLineString.
Raimund Renkert <rrenkert@intevation.de>
parents:
4736
diff
changeset
|
112 public MultiLineString getGeom() { |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 return geom; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 } |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 |
5140
18ef819a7c92
Changed river axis from LineString to MultiLineString.
Raimund Renkert <rrenkert@intevation.de>
parents:
4736
diff
changeset
|
117 public void setGeom(MultiLineString geom) { |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 this.geom = geom; |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
119 } |
1231
22eea1c9e907
Added a function in RiverAxis to retrieve the RiverAxis of a given river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1230
diff
changeset
|
120 |
22eea1c9e907
Added a function in RiverAxis to retrieve the RiverAxis of a given river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1230
diff
changeset
|
121 |
5170
c1b60f8c3390
Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents:
5146
diff
changeset
|
122 public static List<RiverAxis> getRiverAxis(String river) |
5173
14d19313268a
Catch IllegalArgumentException instead of RuntimeException, added logging.
Raimund Renkert <rrenkert@intevation.de>
parents:
5170
diff
changeset
|
123 throws IllegalArgumentException { |
5146
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
124 return getRiverAxis(river, KIND_CURRENT); |
3959
6b1ca6ec4e3c
Added a new method to RiverAxis to query a special kind of river axes (default, official, outsourced).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2375
diff
changeset
|
125 } |
4736
b195fede1c3b
Remove trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3959
diff
changeset
|
126 |
5477
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
127 public static List<RiverAxis> getRiverAxis(String river, String name, int kind) |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
128 throws HibernateException { |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
129 Session session = SessionHolder.HOLDER.get(); |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
130 Query query = session.createQuery( |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
131 "from RiverAxis as ax where river.name =:river" + |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
132 " and kind.id =:kind" + |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
133 " and ax.name=:name"); |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
134 query.setParameter("river", river); |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
135 query.setParameter("kind", kind); |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
136 query.setParameter("name", name); |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
137 |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
138 List<RiverAxis> list = query.list(); |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
139 return list.isEmpty() ? null : list; |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
140 } |
ae60bb7b8085
Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents:
5181
diff
changeset
|
141 |
5170
c1b60f8c3390
Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents:
5146
diff
changeset
|
142 public static List<RiverAxis> getRiverAxis(String river, int kind) |
5181
9d36ddf7dbd3
Change IllegalArgumentException to HibernateException.
Raimund Renkert <rrenkert@intevation.de>
parents:
5173
diff
changeset
|
143 throws HibernateException { |
1231
22eea1c9e907
Added a function in RiverAxis to retrieve the RiverAxis of a given river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1230
diff
changeset
|
144 Session session = SessionHolder.HOLDER.get(); |
22eea1c9e907
Added a function in RiverAxis to retrieve the RiverAxis of a given river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1230
diff
changeset
|
145 Query query = session.createQuery( |
5146
d4fdd98a04f7
Add kind_id to river_axes table and add AxisKind object to model
Andre Heinecke <aheinecke@intevation.de>
parents:
5140
diff
changeset
|
146 "from RiverAxis where river.name =:river AND kind.id =:kind"); |
1231
22eea1c9e907
Added a function in RiverAxis to retrieve the RiverAxis of a given river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1230
diff
changeset
|
147 query.setParameter("river", river); |
3959
6b1ca6ec4e3c
Added a new method to RiverAxis to query a special kind of river axes (default, official, outsourced).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2375
diff
changeset
|
148 query.setParameter("kind", kind); |
1231
22eea1c9e907
Added a function in RiverAxis to retrieve the RiverAxis of a given river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1230
diff
changeset
|
149 |
5181
9d36ddf7dbd3
Change IllegalArgumentException to HibernateException.
Raimund Renkert <rrenkert@intevation.de>
parents:
5173
diff
changeset
|
150 List<RiverAxis> list = query.list(); |
9d36ddf7dbd3
Change IllegalArgumentException to HibernateException.
Raimund Renkert <rrenkert@intevation.de>
parents:
5173
diff
changeset
|
151 return list.isEmpty() ? null : list; |
1231
22eea1c9e907
Added a function in RiverAxis to retrieve the RiverAxis of a given river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1230
diff
changeset
|
152 } |
1230
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 } |
e2deda3b77a7
Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |