Revision 46024 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
636 636
        try {
637 637
            if (theFormSet.isInNewState()) {
638 638
                EditableFeature newFeature = store.createNewFeature(false);
639
                
640
                // Fill fields not in form with default values
639
                JDynForm form = formset.getForm();
641 640
                for (FeatureAttributeDescriptor attr : this.store.getDefaultFeatureTypeQuietly()) {
642
                    JDynFormField field = formset.getForm().getField(attr.getName());
641
                    String name = attr.getName();
642
                    if( !newFeature.canSetValue(name) ) {
643
                        continue;
644
                    }
645
                    JDynFormField field = form.getField(name);
643 646
                    if( field==null ) {
644
                        newFeature.set(attr.getName(), attr.getDefaultValueCoerced());
647
                        // The attribute is not in form, set default value
648
                        newFeature.set(name, attr.getDefaultValueCoerced());
649
                    } else {
650
                        try {
651
                            Object value = field.getValue();
652
                            newFeature.set(name, value);
653
                        } catch (Exception ex) {
654
                            LOGGER.warn("Can't get value of field '" + name + "'.", ex);
655
                        }
645 656
                    }
646 657
                }
647
                DynObject newElement = newFeature.getAsDynObject();
648
                theFormSet.getFormValues(newElement);
649
                features.insert(((FacadeOfAFeature) newElement).getEditableFeature());
658
                features.insert(newFeature);
650 659
                this.formset.message(i18n.getTranslation("_Record_saved"));
651 660
                try {
652 661
                    this.formset.setValues(features.asListOfDynObjects());

Also available in: Unified diff