Revision 40597 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureStore.java

View differences:

DefaultFeatureStore.java
55 55
import org.gvsig.fmap.dal.exception.OpenException;
56 56
import org.gvsig.fmap.dal.exception.ReadException;
57 57
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
58
import org.gvsig.fmap.dal.exception.WriteException;
58 59
import org.gvsig.fmap.dal.feature.EditableFeature;
59 60
import org.gvsig.fmap.dal.feature.EditableFeatureType;
60 61
import org.gvsig.fmap.dal.feature.Feature;
......
85 86
import org.gvsig.fmap.dal.feature.exception.NeedEditingModeException;
86 87
import org.gvsig.fmap.dal.feature.exception.NoNewFeatureInsertException;
87 88
import org.gvsig.fmap.dal.feature.exception.NullFeatureTypeException;
89
import org.gvsig.fmap.dal.feature.exception.PerformEditingException;
88 90
import org.gvsig.fmap.dal.feature.exception.PersistenceCantFindDefaultFeatureTypeException;
89 91
import org.gvsig.fmap.dal.feature.exception.PersistenceCantFindFeatureTypeException;
90 92
import org.gvsig.fmap.dal.feature.exception.PersistenceStoreAlreadyLoadedException;
......
1195 1197
                notifyChange(FeatureStoreNotification.BEFORE_FINISHEDITING);
1196 1198
                if (hasStrongChanges) {
1197 1199
                    validateFeatures(Feature.FINISH_EDITING);
1200
                    
1201
                    /*
1202
                     * This will throw a PerformEditingExceptionif the provider
1203
                     * does not accept the changes (for example, an invalid field name)
1204
                     */
1198 1205
                    provider.performChanges(featureManager.getDeleted(),
1199 1206
                        featureManager.getInserted(),
1200 1207
                        featureManager.getUpdated(),
......
1205 1212
                notifyChange(FeatureStoreNotification.AFTER_FINISHEDITING);
1206 1213
                break;
1207 1214
            }
1215
        } catch (PerformEditingException pee) {
1216
            throw new WriteException(provider.getProviderName(), pee);
1208 1217
        } catch (Exception e) {
1209 1218
            throw new FinishEditingException(e);
1210 1219
        }
......
2127 2136
        return cloned_store;
2128 2137
        
2129 2138
    }
2130
}
2139
}

Also available in: Unified diff