Revision 43978 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.shp/src/main/java/org/gvsig/fmap/dal/store/shp/SHPStoreProvider.java

View differences:

SHPStoreProvider.java
24 24

  
25 25
import java.io.File;
26 26
import java.io.IOException;
27
import java.util.ArrayList;
27 28
import java.util.Iterator;
29
import java.util.List;
28 30

  
29 31
import org.apache.commons.io.FileUtils;
30 32
import org.apache.commons.io.FilenameUtils;
......
46 48
import org.gvsig.fmap.dal.feature.EditableFeatureType;
47 49
import org.gvsig.fmap.dal.feature.Feature;
48 50
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
51
import org.gvsig.fmap.dal.feature.FeatureQuery;
49 52
import org.gvsig.fmap.dal.feature.FeatureSet;
50 53
import org.gvsig.fmap.dal.feature.FeatureStore;
51 54
import org.gvsig.fmap.dal.feature.FeatureType;
52 55
import org.gvsig.fmap.dal.feature.exception.PerformEditingException;
53 56
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
57
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider;
54 58
import org.gvsig.fmap.dal.resource.ResourceAction;
55 59
import org.gvsig.fmap.dal.resource.exception.ResourceException;
56 60
import org.gvsig.fmap.dal.resource.exception.ResourceExecuteException;
......
435 439
    @SuppressWarnings("rawtypes")
436 440
    public void performChanges(Iterator deleteds, Iterator inserteds, Iterator updateds,
437 441
        Iterator originalFeatureTypesUpdated) throws PerformEditingException {
438

  
442
        final List<Object> originalFeatureTypesUpdatedList = new ArrayList<>();
443
        while (originalFeatureTypesUpdated.hasNext()) {
444
            originalFeatureTypesUpdatedList.add(originalFeatureTypesUpdated.next());
445
        }
446
        
439 447
        /*
440 448
         * This will throw an exception if there are new fields
441 449
         * with names too long
442 450
         */
443
        checkNewFieldsNameSize(originalFeatureTypesUpdated);
451
        checkNewFieldsNameSize(originalFeatureTypesUpdatedList.iterator());
444 452

  
445 453
        final FeatureType fType;
446 454
        try {
......
449 457
            throw new PerformEditingException(this.getProviderName(), e);
450 458
        }
451 459
        // TODO Comprobar el campo de geometria
452

  
460
        
453 461
        final EditableFeatureType dbfFtype = fType.getEditable();
454 462

  
455 463
        removeGeometryColumn(dbfFtype);
......
538 546
                        savePrjFile(shpParams.getFile(), tmpParams.getCRS());
539 547

  
540 548
                        resourcesNotifyChanges();
541
                        initFeatureType();
549
                        if (!originalFeatureTypesUpdatedList.isEmpty()) {
550
                             initFeatureType();
551
                        }
552
                       
542 553
                        return null;
543 554
                    } finally {
544 555
                        loTengoEnUso = false;

Also available in: Unified diff