Revision 575 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.converttopolyline/src/main/java/org/gvsig/vectorediting/lib/prov/converttopolyline/ConvertToPolylineEditingProvider.java
ConvertToPolylineEditingProvider.java | ||
---|---|---|
179 | 179 |
|
180 | 180 |
if (geometry.getGeometryType().isTypeOf(TYPES.CURVE)) { |
181 | 181 |
|
182 |
Line line = convertCurveToLine((Curve) geometry);
|
|
182 |
eFeature.setDefaultGeometry(geometry.toLines().getPrimitiveAt(0));
|
|
183 | 183 |
|
184 |
eFeature.setDefaultGeometry(line);
|
|
184 |
} else if (geometry.getGeometryType().isTypeOf(TYPES.MULTICURVE)) {
|
|
185 | 185 |
|
186 |
} else if (geometry.getGeometryType().isTypeOf( |
|
187 |
TYPES.MULTICURVE)) { |
|
188 |
|
|
189 |
MultiCurve newMulticurve = |
|
190 |
geometryManager.createMultiCurve(geometry |
|
191 |
.getGeometryType().getSubType()); |
|
192 |
MultiCurve multicurve = (MultiCurve) geometry; |
|
193 |
|
|
194 |
for (int i = 0; i < multicurve.getPrimitivesNumber(); i++) { |
|
195 |
Primitive primitive = multicurve.getPrimitiveAt(i); |
|
196 |
Line line = convertCurveToLine((Curve) primitive); |
|
197 |
newMulticurve.addCurve(line); |
|
198 |
} |
|
199 |
|
|
200 |
eFeature.setDefaultGeometry(newMulticurve); |
|
186 |
eFeature.setDefaultGeometry(geometry.toLines()); |
|
201 | 187 |
} |
202 | 188 |
DisposeUtils.disposeQuietly(featureSelection); |
203 | 189 |
editingProviderServices.updateFeatureInFeatureStore( |
204 | 190 |
eFeature, featureStore); |
205 | 191 |
} |
206 |
|
|
192 |
|
|
207 | 193 |
featureStore.getFeatureSelection().deselectAll(); |
208 | 194 |
} catch (BaseException e) { |
209 | 195 |
throw new FinishServiceException(e); |
210 | 196 |
} finally { |
211 | 197 |
it.dispose(); |
212 | 198 |
} |
213 |
|
|
199 |
|
|
214 | 200 |
} |
215 | 201 |
} |
216 | 202 |
|
Also available in: Unified diff