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