Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/RiverAxisArtifact.java @ 8747:e9d912c97fa8
We expect that every river has only one RiverAxis of kind 1
This allowed to reduce code duplication and some cleanups.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Fri, 05 Jun 2015 16:56:47 +0200 |
parents | e4606eae8ea5 |
children | 5e38e2924c07 |
comparison
equal
deleted
inserted
replaced
8746:e701ef544ffa | 8747:e9d912c97fa8 |
---|---|
111 River river = RiverFactory.getRiver(getRiverId()); | 111 River river = RiverFactory.getRiver(getRiverId()); |
112 List<RiverAxis> axes; | 112 List<RiverAxis> axes; |
113 | 113 |
114 String kind = getIdPart(2); | 114 String kind = getIdPart(2); |
115 | 115 |
116 if (kind != null && kind.equals("1")) { | 116 if (kind != null && !kind.equals(RiverAxis.KIND_CURRENT)) { |
117 axes = RiverAxis.getRiverAxis(river.getName(), | |
118 Integer.parseInt(kind)); | |
119 } else if (kind != null) { | |
120 axes = RiverAxis.getRiverAxis(river.getName(), | 117 axes = RiverAxis.getRiverAxis(river.getName(), |
121 getName(), Integer.parseInt(kind)); | 118 getName(), Integer.parseInt(kind)); |
122 } else { | 119 } else { |
123 if (reproject) { | 120 if (reproject) { |
124 log.debug("Query extent for RiverAxis with Srid: " + getSrid()); | 121 log.debug("Query extent for RiverAxis with Srid: " + getSrid()); |
125 return GeometryUtils.transform( | 122 return GeometryUtils.transform( |
126 GeometryUtils.getRiverBoundary(river.getName()), | 123 GeometryUtils.getRiverBoundary(river.getName()), |
127 getSrid()); | 124 getSrid()); |
128 } else { | |
129 return GeometryUtils.transform( | |
130 GeometryUtils.getRiverBoundary(river.getName()), | |
131 "31467"); | |
132 } | 125 } |
126 return GeometryUtils.getRiverBoundary(river.getName()); | |
133 } | 127 } |
134 | 128 |
135 Envelope max = null; | 129 Envelope max = null; |
136 | 130 |
137 for (RiverAxis ax: axes) { | 131 for (RiverAxis ax: axes) { |
151 } | 145 } |
152 | 146 |
153 @Override | 147 @Override |
154 protected String getFilter() { | 148 protected String getFilter() { |
155 String kind = getIdPart(2); | 149 String kind = getIdPart(2); |
156 if (kind != null && kind.equals("1")) { | 150 if (kind != null && kind.equals(RiverAxis.KIND_CURRENT)) { |
157 return "river_id=" + String.valueOf(getRiverId()) + | 151 return "river_id=" + String.valueOf(getRiverId()) + |
158 " AND kind_id=" + kind; | 152 " AND kind_id=" + kind; |
159 } else if (kind != null) { | 153 } |
154 if (kind != null) { | |
160 return "river_id=" + String.valueOf(getRiverId()) + | 155 return "river_id=" + String.valueOf(getRiverId()) + |
161 " AND kind_id=" + kind + | 156 " AND kind_id=" + kind + |
162 " AND name='" + getName() + "'"; | 157 " AND name='" + getName() + "'"; |
163 } else if (getIdPart(1) != null) { | 158 } |
159 if (getIdPart(1) != null) { | |
164 return "river_id=" + String.valueOf(getRiverId()) + | 160 return "river_id=" + String.valueOf(getRiverId()) + |
165 " AND name='" + getName() + "'"; | 161 " AND name='" + getName() + "'"; |
166 } | 162 } |
167 return "river_id=" + String.valueOf(getRiverId()) + | 163 return "river_id=" + String.valueOf(getRiverId()) + |
168 " AND kind_id=" + kind; | 164 " AND kind_id=" + kind; |
171 @Override | 167 @Override |
172 protected String getDataString() { | 168 protected String getDataString() { |
173 if (RiverUtils.isUsingOracle()) { | 169 if (RiverUtils.isUsingOracle()) { |
174 return "geom FROM river_axes USING SRID " + getSrid(); | 170 return "geom FROM river_axes USING SRID " + getSrid(); |
175 } | 171 } |
176 else { | 172 return "geom FROM river_axes USING UNIQUE id"; |
177 return "geom FROM river_axes USING UNIQUE id"; | |
178 } | |
179 } | 173 } |
180 | 174 |
181 @Override | 175 @Override |
182 protected String getGeometryType() { | 176 protected String getGeometryType() { |
183 return "LINE"; | 177 return "LINE"; |