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";

http://dive4elements.wald.intevation.org