|
1
|
Index: src/com/iver/cit/gvsig/geoprocess/impl/dissolve/fmap/SingleFieldDissolveCriteria.java
|
|
2
|
===================================================================
|
|
3
|
--- src/com/iver/cit/gvsig/geoprocess/impl/dissolve/fmap/SingleFieldDissolveCriteria.java (revision 39491)
|
|
4
|
+++ src/com/iver/cit/gvsig/geoprocess/impl/dissolve/fmap/SingleFieldDissolveCriteria.java (working copy)
|
|
5
|
@@ -77,6 +77,7 @@
|
|
6
|
import com.iver.cit.gvsig.fmap.drivers.ILayerDefinition;
|
|
7
|
import com.iver.cit.gvsig.fmap.drivers.SHPLayerDefinition;
|
|
8
|
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
|
|
9
|
+import com.iver.cit.gvsig.fmap.layers.SelectableDataSource;
|
|
10
|
import com.iver.cit.gvsig.geoprocess.core.fmap.DefinitionUtils;
|
|
11
|
import com.iver.cit.gvsig.geoprocess.core.fmap.SummarizationFunction;
|
|
12
|
import com.iver.cit.gvsig.geoprocess.core.fmap.XTypes;
|
|
13
|
@@ -234,13 +235,22 @@
|
|
14
|
getFieldIndexByName(dissolveField);
|
|
15
|
int fieldType = layer.getRecordset().
|
|
16
|
getFieldType(dissolveFieldIndex);
|
|
17
|
- int fieldLenght = DefinitionUtils.
|
|
18
|
- getDataTypeLength(fieldType);
|
|
19
|
+ //int fieldLenght = DefinitionUtils.
|
|
20
|
+ // getDataTypeLength(fieldType);
|
|
21
|
+ SelectableDataSource recordset = layer.getRecordset();
|
|
22
|
+ FieldDescription[] recordsetFieldsDescription = recordset.
|
|
23
|
+ getFieldsDescription();
|
|
24
|
+ int fieldLength = recordsetFieldsDescription[dissolveFieldIndex].
|
|
25
|
+ getFieldLength();
|
|
26
|
+ int fieldDecimalCount = recordsetFieldsDescription[dissolveFieldIndex].
|
|
27
|
+ getFieldDecimalCount();
|
|
28
|
+
|
|
29
|
description.setFieldName(dissolveField);
|
|
30
|
description.setFieldType(fieldType);
|
|
31
|
- description.setFieldLength(fieldLenght);
|
|
32
|
+ description.setFieldLength(fieldLength);
|
|
33
|
if(DefinitionUtils.isNumeric(description)){
|
|
34
|
- description.setFieldDecimalCount(DefinitionUtils.NUM_DECIMALS);
|
|
35
|
+ //description.setFieldDecimalCount(DefinitionUtils.NUM_DECIMALS);
|
|
36
|
+ description.setFieldDecimalCount(fieldDecimalCount);
|
|
37
|
}
|
|
38
|
fields.add(description);
|
|
39
|
} catch (ReadDriverException e) {
|