Revision 44510 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/featureform/swing/impl/DefaultJFeaturesForm.java

View differences:

DefaultJFeaturesForm.java
54 54
import org.gvsig.fmap.dal.StoresRepository;
55 55
import org.gvsig.fmap.dal.exception.DataException;
56 56
import org.gvsig.fmap.dal.expressionevaluator.ExpressionEvaluator;
57
import org.gvsig.fmap.dal.feature.EditableFeature;
57 58
import org.gvsig.fmap.dal.feature.Feature;
58 59
import org.gvsig.fmap.dal.feature.FacadeOfAFeature;
59 60
import org.gvsig.fmap.dal.feature.FeatureQuery;
......
538 539
        }
539 540

  
540 541
    }
542
    private void deleteCurrentElement(JDynFormSet theFormSet) {
543
        I18nManager i18n = ToolsLocator.getI18nManager();
544
        try {
545
            int index = theFormSet.getCurrentIndex();
546
            DynObject currentElement = theFormSet.get(index);
547
            theFormSet.getFormValues(currentElement);
548
            Feature feature = ((FacadeOfAFeature) currentElement).getFeature();
549
            if (feature instanceof EditableFeature) {
550
                feature = ((EditableFeature) feature).getNotEditableCopy();
551
            }
552
            features.delete(feature);
553
            this.formset.message(i18n.getTranslation("_Record_removed"));
541 554

  
555
        } catch (Exception ex) {
556
            theFormSet.message(i18n.getTranslation("error_removing_data_will_not_remove"));
557
            throw new RuntimeException("Can't remove values", ex);
558

  
559
        } finally {
560
            updateButtonEnabledStatus();
561
        }
562

  
563
    }
542 564
    @Override
543 565
    public void saveChanges() {
544 566
        if (this.formset != null && this.formset.countValues() > 0) {
......
584 606
                formset.setActionEnabled(ACTION_CANCEL_NEW,true);
585 607
                formset.setActionEnabled(ACTION_SAVE,true);
586 608
                
587
            } else if( this.features.isEmpty() ) {
609
            } else if( this.features!=null && this.features.isEmpty() ) {
588 610
                formset.setActionEnabled(ACTION_DELETE, false);
589 611
                formset.setActionEnabled(ACTION_SEARCH,false);
590 612
                formset.setActionEnabled(ACTION_NEW,true);
......
684 706
        @Override
685 707
        public void formAfterDelete(JDynFormSet dynformSet) throws AbortActionException {
686 708
            LOGGER.trace("formAfterDelete");
709
            deleteCurrentElement(dynformSet);
687 710
            updateButtonEnabledStatus();
688 711
        }
689 712

  

Also available in: Unified diff