Revision 44773 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/DefaultFeature.java

View differences:

DefaultFeature.java
43 43
import org.gvsig.fmap.dal.exception.DataException;
44 44
import org.gvsig.fmap.dal.feature.DataProfile;
45 45
import org.gvsig.fmap.dal.feature.EditableFeature;
46
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor;
46 47
import org.gvsig.fmap.dal.feature.Feature;
47 48
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
48 49
import org.gvsig.fmap.dal.feature.FeatureAttributeEmulator;
49 50
import org.gvsig.fmap.dal.feature.FeatureAttributeGetter;
51
import org.gvsig.fmap.dal.feature.FeatureExtraColumn;
50 52
import org.gvsig.fmap.dal.feature.FeatureReference;
51 53
import org.gvsig.fmap.dal.feature.FeatureStore;
52 54
import org.gvsig.fmap.dal.feature.FeatureType;
......
1189 1191
        return label;
1190 1192
    }
1191 1193

  
1194
    
1192 1195
    @Override
1193 1196
    public Object getExtraValue(String name) {
1194
        return this.data.getExtraValue(name);
1197
        FeatureExtraColumn column = this.getType().getExtraColumn();
1198
        int index = column.getIndexOf(name);
1199
        if( index <0 ) {
1200
          return null;
1201
        }
1202
        Object value = this.data.getExtraValue(name);
1203
        if( value == null ) {
1204
          EditableFeatureAttributeDescriptor attrdesc = column.get(index);          
1205
          value = attrdesc.getFeatureAttributeEmulator().get(this);
1206
          this.data.setExtraValue(index, value);
1207
        }
1208
        return value;
1195 1209
    }
1196 1210

  
1211
    @Override
1197 1212
    public boolean hasExtraValue(String name) {
1198 1213
        return this.data.hasExtraValue(name);
1199 1214
    }

Also available in: Unified diff