Revision 20501

View differences:

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