Revision 43423 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.dbf/src/main/java/org/gvsig/fmap/dal/store/dbf/utils/DbaseFileWriter.java
DbaseFileWriter.java | ||
---|---|---|
286 | 286 |
int dbfFieldIndex = this.header.getFieldIndex(attr.getName()); |
287 | 287 |
final int fieldLen = header.getFieldLength(dbfFieldIndex); |
288 | 288 |
String fieldString = ""; |
289 |
if (DataTypes.BOOLEAN == type) { |
|
289 |
|
|
290 |
if( DataTypes.BOOLEAN == type ) { |
|
290 | 291 |
boolean b = feature.getBoolean(attr.getIndex()); |
291 |
if (b) {
|
|
292 |
safeEncode("T", 1, true);
|
|
292 |
if( b ) {
|
|
293 |
safeEncode("T", 1, true);
|
|
293 | 294 |
} else { |
294 |
safeEncode("F", 1, true);
|
|
295 |
safeEncode("F", 1, true);
|
|
295 | 296 |
} |
296 |
} else |
|
297 |
if (DataTypes.BYTE == type) { |
|
298 |
fieldString = String.valueOf(feature.getByte(attr.getIndex())); |
|
299 |
safeEncode(fieldString, 8, false); |
|
300 |
} else |
|
301 |
if (DataTypes.DATE == type) { |
|
302 |
Date date = feature.getDate(attr.getIndex()); |
|
303 |
fieldString = formatter.getFieldString(date); |
|
304 |
safeEncode(fieldString, 8, false); |
|
305 |
} else |
|
306 |
if (DataTypes.DOUBLE == type) { |
|
307 |
double d = feature.getDouble(attr.getIndex()); |
|
308 |
fieldString = |
|
309 |
formatter.getFieldString(fieldLen, |
|
310 |
header.getFieldDecimalCount(dbfFieldIndex), d); |
|
311 |
safeEncode(fieldString, fieldLen, false); |
|
312 |
} else |
|
313 |
if (DataTypes.FLOAT == type) { |
|
314 |
float f = feature.getFloat(attr.getIndex()); |
|
315 |
fieldString = |
|
316 |
formatter.getFieldString(fieldLen, |
|
317 |
header.getFieldDecimalCount(dbfFieldIndex), |
|
318 |
f); |
|
319 |
safeEncode(fieldString, fieldLen, false); |
|
320 |
} else |
|
321 |
if (DataTypes.INT == type) { |
|
322 |
int integer = feature.getInt(attr.getIndex()); |
|
323 |
fieldString = |
|
324 |
formatter.getFieldString(fieldLen, header |
|
325 |
.getFieldDecimalCount(dbfFieldIndex), |
|
326 |
integer); |
|
327 |
safeEncode(fieldString, fieldLen, false); |
|
328 |
} else |
|
329 |
if (DataTypes.LONG == type) { |
|
330 |
long l = feature.getLong(attr.getIndex()); |
|
331 |
fieldString = |
|
332 |
formatter |
|
333 |
.getFieldString( |
|
334 |
fieldLen, |
|
335 |
header |
|
336 |
.getFieldDecimalCount(dbfFieldIndex), |
|
337 |
l); |
|
338 |
safeEncode(fieldString, fieldLen, false); |
|
339 |
} else |
|
340 |
if (DataTypes.STRING == type) { |
|
341 |
String s = |
|
342 |
feature.getString(attr.getIndex()); |
|
343 |
// System.out.println(fieldLen); |
|
344 |
safeEncode(s, fieldLen, true); |
|
345 |
} |
|
297 |
|
|
298 |
} else if( DataTypes.BYTE == type ) { |
|
299 |
fieldString = String.valueOf(feature.getByte(attr.getIndex())); |
|
300 |
safeEncode(fieldString, 8, false); |
|
301 |
|
|
302 |
} else if( DataTypes.DATE == type ) { |
|
303 |
Date date = feature.getDate(attr.getIndex()); |
|
304 |
fieldString = formatter.getFieldString(date); |
|
305 |
safeEncode(fieldString, 8, false); |
|
306 |
|
|
307 |
} else if( DataTypes.DOUBLE == type ) { |
|
308 |
double d = feature.getDouble(attr.getIndex()); |
|
309 |
fieldString = formatter.getFieldString( |
|
310 |
fieldLen, header.getFieldDecimalCount(dbfFieldIndex), d |
|
311 |
); |
|
312 |
safeEncode(fieldString, fieldLen, false); |
|
313 |
|
|
314 |
} else if( DataTypes.FLOAT == type ) { |
|
315 |
float f = feature.getFloat(attr.getIndex()); |
|
316 |
fieldString = formatter.getFieldString( |
|
317 |
fieldLen, header.getFieldDecimalCount(dbfFieldIndex), f |
|
318 |
); |
|
319 |
safeEncode(fieldString, fieldLen, false); |
|
320 |
|
|
321 |
} else if( DataTypes.INT == type ) { |
|
322 |
int integer = feature.getInt(attr.getIndex()); |
|
323 |
fieldString = formatter.getFieldString( |
|
324 |
fieldLen, header.getFieldDecimalCount(dbfFieldIndex), integer |
|
325 |
); |
|
326 |
safeEncode(fieldString, fieldLen, false); |
|
327 |
|
|
328 |
} else if( DataTypes.LONG == type ) { |
|
329 |
long l = feature.getLong(attr.getIndex()); |
|
330 |
fieldString = formatter.getFieldString( |
|
331 |
fieldLen, header.getFieldDecimalCount(dbfFieldIndex),l |
|
332 |
); |
|
333 |
safeEncode(fieldString, fieldLen, false); |
|
334 |
|
|
335 |
} else if( DataTypes.STRING == type ) { |
|
336 |
String s = feature.getString(attr.getIndex()); |
|
337 |
safeEncode(s, fieldLen, true); |
|
346 | 338 |
|
339 |
} |
|
340 |
|
|
347 | 341 |
} |
348 | 342 |
|
349 | 343 |
/** |
Also available in: Unified diff