Revision 44669 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/DBFFilesystemServerProvider.java
DBFFilesystemServerProvider.java | ||
---|---|---|
145 | 145 |
|
146 | 146 |
writer.begin( |
147 | 147 |
params, |
148 |
fixFeatureType(params.getDefaultFeatureType()), |
|
148 |
// fixFeatureType(params.getDefaultFeatureType()), |
|
149 |
params.getDefaultFeatureType(), |
|
149 | 150 |
0 |
150 | 151 |
); |
151 | 152 |
writer.end(); |
... | ... | |
213 | 214 |
// Do nothing |
214 | 215 |
} |
215 | 216 |
|
216 |
protected EditableFeatureType fixFeatureType(FeatureType featureType) { |
|
217 |
EditableFeatureType newFeatureType; |
|
218 |
|
|
219 |
if( featureType instanceof EditableFeatureType ) { |
|
220 |
newFeatureType = (EditableFeatureType) featureType.getCopy(); |
|
221 |
} else { |
|
222 |
newFeatureType = featureType.getEditable(); |
|
223 |
} |
|
224 |
|
|
225 |
for( int i=0; i<newFeatureType.size(); i++ ) { |
|
226 |
EditableFeatureAttributeDescriptor attr = (EditableFeatureAttributeDescriptor) newFeatureType.getAttributeDescriptor(i); |
|
227 |
String s; |
|
228 |
switch(attr.getType()) { |
|
229 |
case DataTypes.INT: |
|
230 |
s = String.valueOf(Integer.MAX_VALUE); |
|
231 |
attr.setSize(18);
|
|
232 |
attr.setPrecision(0); |
|
233 |
break; |
|
234 |
case DataTypes.LONG: |
|
235 |
s = String.valueOf(Long.MAX_VALUE); |
|
236 |
attr.setSize(18); |
|
237 |
attr.setPrecision(0); |
|
238 |
break; |
|
239 |
case DataTypes.FLOAT: |
|
240 |
attr.setSize(18);
|
|
241 |
attr.setPrecision(6); |
|
242 |
break; |
|
243 |
case DataTypes.DOUBLE: |
|
244 |
attr.setSize(18); |
|
245 |
attr.setPrecision(6); |
|
246 |
break; |
|
247 |
} |
|
248 |
} |
|
249 |
return newFeatureType; |
|
250 |
} |
|
217 |
// protected EditableFeatureType fixFeatureType(FeatureType featureType) {
|
|
218 |
// EditableFeatureType newFeatureType;
|
|
219 |
// |
|
220 |
// if( featureType instanceof EditableFeatureType ) {
|
|
221 |
// newFeatureType = (EditableFeatureType) featureType.getCopy();
|
|
222 |
// } else {
|
|
223 |
// newFeatureType = featureType.getEditable();
|
|
224 |
// }
|
|
225 |
// |
|
226 |
// for( int i=0; i<newFeatureType.size(); i++ ) {
|
|
227 |
// EditableFeatureAttributeDescriptor attr = (EditableFeatureAttributeDescriptor) newFeatureType.getAttributeDescriptor(i);
|
|
228 |
// String s;
|
|
229 |
// switch(attr.getType()) {
|
|
230 |
// case DataTypes.INT:
|
|
231 |
// s = String.valueOf(Integer.MAX_VALUE);
|
|
232 |
// attr.setSize(10);
|
|
233 |
// attr.setPrecision(0);
|
|
234 |
// break;
|
|
235 |
// case DataTypes.LONG:
|
|
236 |
// s = String.valueOf(Long.MAX_VALUE);
|
|
237 |
// attr.setSize(18);
|
|
238 |
// attr.setPrecision(0);
|
|
239 |
// break;
|
|
240 |
// case DataTypes.FLOAT:
|
|
241 |
// attr.setSize(10);
|
|
242 |
// attr.setPrecision(6);
|
|
243 |
// break;
|
|
244 |
// case DataTypes.DOUBLE:
|
|
245 |
// attr.setSize(18);
|
|
246 |
// attr.setPrecision(6);
|
|
247 |
// break;
|
|
248 |
// }
|
|
249 |
// }
|
|
250 |
// return newFeatureType;
|
|
251 |
// }
|
|
251 | 252 |
|
252 | 253 |
} |
Also available in: Unified diff