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