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

View differences:

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