Revision 11966 branches/v10/extensions/extSDE/src/com/iver/cit/gvsig/fmap/drivers/sde/ArcSdeFeatureIterator.java

View differences:

ArcSdeFeatureIterator.java
318 318

  
319 319
            if ( row != null )
320 320
            {
321
            	int hasgeom=0;
321 322
                for (int colNum = 0; colNum < colDefs.length; colNum++)
322 323
                {
323 324
                    SeColumnDefinition colDef = colDefs[colNum];
......
326 327
                    {
327 328
                        switch( dataType )
328 329
                        {
330
                        	case SeColumnDefinition.TYPE_SHAPE:
331
                        		spVal = row.getShape(colNum);
332
                        		geom = getGeometry(spVal);
333
                        		hasgeom=-1;
334
                        		break;
329 335
                            case SeColumnDefinition.TYPE_INT16:
330
                                regAtt[colNum-1] =  ValueFactory.createValue(row.getShort(colNum).intValue());
336
                                regAtt[colNum+hasgeom] =  ValueFactory.createValue(row.getShort(colNum).intValue());
331 337
                                break;
332 338
                            case SeColumnDefinition.TYPE_DATE:
333
                                regAtt[colNum-1] =  ValueFactory.createValue(row.getTime(colNum).getTime());
339
                                regAtt[colNum+hasgeom] =  ValueFactory.createValue(row.getTime(colNum).getTime());
334 340
                                break;
335 341

  
336 342
                            case SeColumnDefinition.TYPE_INT32:
337 343
                            case SeColumnDefinition.TYPE_INT64:
338
                                regAtt[colNum-1] =  ValueFactory.createValue(row.getInteger(colNum).intValue());
344
                                regAtt[colNum+hasgeom] =  ValueFactory.createValue(row.getInteger(colNum).intValue());
339 345
                                break;
340 346

  
341 347
                            case SeColumnDefinition.TYPE_FLOAT32:
342
                                regAtt[colNum-1] =  ValueFactory.createValue(row.getFloat(colNum).floatValue());
348
                                regAtt[colNum+hasgeom] =  ValueFactory.createValue(row.getFloat(colNum).floatValue());
343 349
                                break;
344 350

  
345 351
                            case SeColumnDefinition.TYPE_FLOAT64:
346
                                regAtt[colNum-1] =  ValueFactory.createValue(row.getDouble(colNum).doubleValue());
352
                                regAtt[colNum+hasgeom] =  ValueFactory.createValue(row.getDouble(colNum).doubleValue());
347 353
                                break;
348 354

  
349 355
                            case SeColumnDefinition.TYPE_STRING:
350
                                regAtt[colNum-1] =  ValueFactory.createValue(row.getString(colNum));
356
                                regAtt[colNum+hasgeom] =  ValueFactory.createValue(row.getString(colNum));
351 357
                                break;
352 358

  
353
                            case SeColumnDefinition.TYPE_SHAPE:
354
                                spVal = row.getShape(colNum);
355
                                geom = getGeometry(spVal);
356
                                break;
359

  
357 360
                        } // End switch
358 361
                    } // End if
359 362
                } // for

Also available in: Unified diff