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