Revision 20501
trunk/libraries/libDataSourceBaseDrivers/src-test/org/gvsig/data/datastores/vectorial/file/DataStoreTest.java | ||
---|---|---|
257 | 257 |
v1 = (Comparable)pfeature.get("NOMBRE"); |
258 | 258 |
v2 = (Comparable)feature.get("NOMBRE"); |
259 | 259 |
pfeature=feature; |
260 |
if (v1!=null && v2!=null) |
|
260 | 261 |
assertTrue("Short error", (v1.compareTo(v1) >= 0)); |
261 | 262 |
count++; |
262 | 263 |
} |
... | ... | |
1018 | 1019 |
// fs.delete((IFeatureAttributeDescriptor)featureType.get(featureType.getFieldIndex("Prueba1"))); |
1019 | 1020 |
DefaultAttributeDescriptor dad2=(DefaultAttributeDescriptor)featureType.get(featureType.getFieldIndex("TIPO")); |
1020 | 1021 |
dad2.editing(); |
1021 |
dad2.setName("TIPO"); |
|
1022 |
// dad2.setName("TIPO");
|
|
1022 | 1023 |
dad2.setDefaultValue("Tipop"); |
1023 |
dad2.setSize(10); |
|
1024 |
// dad2.setSize(10);
|
|
1024 | 1025 |
dad2.setType(IFeatureAttributeDescriptor.TYPE_STRING); |
1025 | 1026 |
fs.update(dad2); |
1026 | 1027 |
} |
1027 | 1028 |
} catch (ReadException e) { |
1028 | 1029 |
e.printStackTrace(); |
1029 | 1030 |
fail(); |
1030 |
} catch (IsNotAttributeSettingException e) { |
|
1031 |
} |
|
1032 |
catch (IsNotAttributeSettingException e) { |
|
1031 | 1033 |
// TODO Auto-generated catch block |
1032 | 1034 |
e.printStackTrace(); |
1033 | 1035 |
} |
trunk/libraries/libDataSourceBaseDrivers/src/org/gvsig/data/datastores/vectorial/file/shp/ShpFeature.java | ||
---|---|---|
12 | 12 |
import org.gvsig.data.datastores.vectorial.file.dbf.utils.DbaseFile; |
13 | 13 |
import org.gvsig.data.exception.ReadException; |
14 | 14 |
import org.gvsig.data.spatialprovisional.IExtent; |
15 |
import org.gvsig.data.vectorial.DefaultAttributeDescriptor; |
|
15 | 16 |
import org.gvsig.data.vectorial.Feature; |
16 | 17 |
import org.gvsig.data.vectorial.IFeatureAttributeDescriptor; |
17 | 18 |
import org.gvsig.data.vectorial.IFeatureID; |
... | ... | |
38 | 39 |
|
39 | 40 |
protected void loadValue(IFeatureAttributeDescriptor descriptor) throws ReadException, IsNotFeatureSettingException { |
40 | 41 |
if (descriptor.getDataType().equals(IFeatureAttributeDescriptor.TYPE_GEOMETRY)){ |
41 |
this.setGeometry(descriptor.ordinal(), ((SHPStore)store).getGeometry(featureIndex) );
|
|
42 |
this.setGeometry(((DefaultAttributeDescriptor)descriptor).originalPosition(), ((SHPStore)store).getGeometry(featureIndex) );
|
|
42 | 43 |
} else { |
43 | 44 |
super.loadValue(descriptor); |
44 | 45 |
} |
trunk/libraries/libDataSourceBaseDrivers/src/org/gvsig/data/datastores/vectorial/file/shp/SHPStore.java | ||
---|---|---|
152 | 152 |
protected void doFinishEdition() throws WriteException, ReadException { |
153 | 153 |
IFeaturesWriter writer = getFeaturesWriter(); |
154 | 154 |
writer.init(this); |
155 |
writer.updateFeatureType(featureType);
|
|
155 |
writer.updateFeatureType(getDefaultFeatureType());
|
|
156 | 156 |
writer.preProcess(); |
157 | 157 |
Collection collection=getDataCollection(); |
158 | 158 |
Iterator iterator=collection.iterator(); |
... | ... | |
190 | 190 |
} |
191 | 191 |
} |
192 | 192 |
long position=((ShpFeatureID)id).getIndex(); |
193 |
ShpFeature feature=new ShpFeature(featureType,this,position);
|
|
193 |
ShpFeature feature=new ShpFeature(getDefaultFeatureType(),this,position);
|
|
194 | 194 |
return feature; |
195 | 195 |
// return getFeatureByPosition(featureType,((ShpFeatureID)id).getIndex()); |
196 | 196 |
} |
trunk/libraries/libDataSourceBaseDrivers/src/org/gvsig/data/datastores/vectorial/file/dbf/utils/DbaseFileWriter.java | ||
---|---|---|
79 | 79 |
import org.gvsig.data.exception.InitializeWriterException; |
80 | 80 |
import org.gvsig.data.exception.UnsupportedEncodingException; |
81 | 81 |
import org.gvsig.data.exception.WriteException; |
82 |
import org.gvsig.data.vectorial.DefaultAttributeDescriptor; |
|
82 | 83 |
import org.gvsig.data.vectorial.IFeature; |
83 | 84 |
import org.gvsig.data.vectorial.IFeatureAttributeDescriptor; |
84 | 85 |
import org.gvsig.data.vectorial.IFeatureType; |
... | ... | |
170 | 171 |
|
171 | 172 |
Iterator iterator=featureType.iterator(); |
172 | 173 |
int i=0; |
173 |
while (iterator.hasNext()) { |
|
174 |
int jGeom=0; |
|
175 |
while (iterator.hasNext()) { |
|
174 | 176 |
IFeatureAttributeDescriptor fad = (IFeatureAttributeDescriptor) iterator.next(); |
175 | 177 |
String type=fad.getDataType(); |
178 |
i=((DefaultAttributeDescriptor)fad).originalPosition(); |
|
176 | 179 |
// int i=fad.ordinal(); |
177 | 180 |
if (featureType.getDefaultGeometry()!=null && featureType.getDefaultGeometry().equals(fad.getName())){ |
181 |
jGeom++; |
|
178 | 182 |
continue; |
179 | 183 |
} |
180 |
String fieldString = fieldString(type, feature, i); |
|
184 |
String fieldString = fieldString(type, feature, i-jGeom);
|
|
181 | 185 |
if (fieldString==null){ |
182 | 186 |
if (type==IFeatureAttributeDescriptor.TYPE_STRING){ |
183 | 187 |
fieldString = NULL_STRING; |
... | ... | |
227 | 231 |
Iterator iterator=featureType.iterator(); |
228 | 232 |
while (iterator.hasNext()) { |
229 | 233 |
IFeatureAttributeDescriptor fad = (IFeatureAttributeDescriptor) iterator.next(); |
230 |
int i=fad.ordinal();
|
|
234 |
int i=((DefaultAttributeDescriptor)fad).originalPosition();
|
|
231 | 235 |
String type=fad.getDataType(); |
232 | 236 |
String fieldString = fieldString(type, feature, i); |
233 | 237 |
try { |
trunk/libraries/libDataSourceBaseDrivers/src/org/gvsig/data/datastores/vectorial/file/dbf/DBFFeature.java | ||
---|---|---|
10 | 10 |
import org.gvsig.data.datastores.vectorial.file.dbf.utils.DbaseFile; |
11 | 11 |
import org.gvsig.data.exception.ReadException; |
12 | 12 |
import org.gvsig.data.spatialprovisional.IExtent; |
13 |
import org.gvsig.data.vectorial.DefaultAttributeDescriptor; |
|
13 | 14 |
import org.gvsig.data.vectorial.Feature; |
14 | 15 |
import org.gvsig.data.vectorial.IFeatureAttributeDescriptor; |
15 | 16 |
import org.gvsig.data.vectorial.IFeatureID; |
... | ... | |
47 | 48 |
} |
48 | 49 |
|
49 | 50 |
protected void loadValue(IFeatureAttributeDescriptor descriptor) throws ReadException, IsNotFeatureSettingException{ |
50 |
int i=descriptor.ordinal();
|
|
51 |
int i=((DefaultAttributeDescriptor)descriptor).originalPosition();
|
|
51 | 52 |
if (store.dbf.getFieldCount()<=i) |
52 | 53 |
return; |
53 | 54 |
String value=store.dbf.getStringFieldValue((int) this.featureIndex, i); |
trunk/libraries/libDataSourceBaseDrivers/src/org/gvsig/data/datastores/vectorial/file/dxf/DXFStore.java | ||
---|---|---|
271 | 271 |
Iterator iterator=type.iterator(); |
272 | 272 |
while (iterator.hasNext()) { |
273 | 273 |
IFeatureAttributeDescriptor fad = (IFeatureAttributeDescriptor) iterator.next(); |
274 |
int index=fad.ordinal();
|
|
274 |
int index=((DefaultAttributeDescriptor)fad).originalPosition();
|
|
275 | 275 |
auxfeature.set(index,feature.get(index)); |
276 | 276 |
} |
277 | 277 |
if (filter==null || parser.match(auxfeature)){ |
Also available in: Unified diff