Revision 44778

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/feature/FeatureExtraColumn.java
14 14

  
15 15
  public EditableFeatureAttributeDescriptor get(String name);
16 16
  
17
  public EditableFeatureAttributeDescriptor get(int index);
18
  
17 19
  public EditableFeatureAttributeDescriptor add(String name);
18 20
  
19 21
  public void merge(FeatureExtraColumn other);
22
  
23
  public int getIndexOf(String name);
20 24
}
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
1195 1195
    @Override
1196 1196
    public Object getExtraValue(String name) {
1197 1197
        FeatureExtraColumn column = this.getType().getExtraColumn();
1198
//        int index = column.getIndexOf(name);
1199
//        if( index <0 ) {
1200
//          return null;
1201
//        }
1198
        int index = column.getIndexOf(name);
1199
        if( index <0 ) {
1200
          return null;
1201
        }
1202 1202
        Object value = this.data.getExtraValue(name);
1203 1203
        if( value == null ) {
1204
          EditableFeatureAttributeDescriptor attrdesc = column.get(name);   
1205
//          EditableFeatureAttributeDescriptor attrdesc = column.get(index);   
1204
          EditableFeatureAttributeDescriptor attrdesc = column.get(index);   
1206 1205
          value = attrdesc.getFeatureAttributeEmulator().get(this);
1207
//          this.data.setExtraValue(index, value);
1206
          this.data.setExtraValue(index, value);
1208 1207
        }
1209 1208
        return value;
1210 1209
    }
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/DefaultFeatureExtraColumn.java
60 60
        this.extraColumns.addAll(other.getColumns());
61 61
    }
62 62

  
63
    @Override
64
    public int getIndexOf(String name) {
65
        for (int i = 0; i < extraColumns.size(); i++) {
66
            EditableFeatureAttributeDescriptor extraColumn = extraColumns.get(i);
67
            if (StringUtils.equals(extraColumn.getName(), name)) {
68
                return i;
69
            }
70
        }
71
        return -1;
72
    }
73

  
74
    @Override
75
    public EditableFeatureAttributeDescriptor get(int index) {
76
        return extraColumns.get(index);
77
    }
78

  
63 79
}

Also available in: Unified diff