Revision 40597 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.editing.app/org.gvsig.editing.app.mainplugin/src/main/java/org/gvsig/editing/EditionManager.java

View differences:

EditionManager.java
55 55
import org.gvsig.fmap.dal.feature.FeatureSelection;
56 56
import org.gvsig.fmap.dal.feature.FeatureStore;
57 57
import org.gvsig.fmap.dal.feature.FeatureType;
58
import org.gvsig.fmap.dal.feature.exception.PerformEditingException;
58 59
import org.gvsig.fmap.dal.feature.rule.CheckMandatoryAttributesRule;
59 60
import org.gvsig.fmap.geom.Geometry;
60 61
import org.gvsig.fmap.geom.Geometry.SUBTYPES;
......
783 784
	            }
784 785
	            break;
785 786
	        case ACCEPT_EDITING:
786
	            lyrEd = (VectorialLayerEdited) this.getActiveLayerEdited();
787
	            lv.getFeatureStore().deleteObserver(lyrEd);
788 787
	            featureStore = lv.getFeatureStore();
789 788
	            try {
789
	            	
790
	            	/*
791
	            	 * This will throw a WriteException
792
	            	 * also if the provider does not accept
793
	            	 * the changes (added/updated/deleted/updated featuretype)  
794
	            	 */
790 795
	                featureStore.finishEditing();
791
	            } catch (WriteException e) {
792
	                throw new ReadException(lv.getName(), e);
796
	                
793 797
	            } catch (DataException e) {
794 798
	                throw new ReadException(lv.getName(), e);
795 799
	            }
796
	            lv.getFeatureStore().deleteObserver(view);
800
	            lyrEd = (VectorialLayerEdited) this.getActiveLayerEdited();
801
	            featureStore.deleteObserver(lyrEd);
802
	            featureStore.deleteObserver(view);
797 803
	            lv.removeLayerListener(this);
798 804
	            if (view != null) {
799 805
	                view.getMapControl().getMapContext().removeLayerDrawListener(lyrEd);

Also available in: Unified diff