Revision 43425 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.csv/src/main/java/org/gvsig/fmap/dal/store/csv/CSVStoreProvider.java
CSVStoreProvider.java | ||
---|---|---|
29 | 29 |
import java.io.FileWriter; |
30 | 30 |
import java.io.IOException; |
31 | 31 |
import java.io.InputStreamReader; |
32 |
import java.net.URI; |
|
32 | 33 |
import java.net.URL; |
33 | 34 |
import java.nio.charset.Charset; |
34 | 35 |
import java.util.ArrayList; |
... | ... | |
1023 | 1024 |
sizes[i] = -1; |
1024 | 1025 |
FeatureAttributeDescriptor ad = ftype.getAttributeDescriptor(i); |
1025 | 1026 |
coercion[i] = ad.getDataType().getCoercion(); |
1026 |
if (ad.getDataType().getType() == DataTypes.STRING) { |
|
1027 |
switch (ad.getDataType().getType() ) { |
|
1028 |
case DataTypes.STRING: |
|
1027 | 1029 |
if (ad.getSize() == 0) { |
1028 | 1030 |
// Es un string y no tiene un size asignado. |
1029 | 1031 |
// Lo ponemos a cero para calcularlo. |
1030 | 1032 |
sizes[i] = 0; |
1031 | 1033 |
} |
1034 |
break; |
|
1035 |
case DataTypes.URL: |
|
1036 |
case DataTypes.URI: |
|
1037 |
case DataTypes.FILE: |
|
1038 |
sizes[i] = 0; |
|
1032 | 1039 |
} |
1033 | 1040 |
} |
1034 | 1041 |
if (ftype.getDefaultGeometryAttributeName() != null) { |
... | ... | |
1061 | 1068 |
value = coercion[i].coerce(rawvalue); |
1062 | 1069 |
} |
1063 | 1070 |
feature.set(i, value); |
1064 |
if (sizes[i] >= 0 && value instanceof String ) { |
|
1065 |
int x = ((String) value).length(); |
|
1071 |
if (sizes[i] >= 0 && |
|
1072 |
(value instanceof String || value instanceof URL || |
|
1073 |
value instanceof URI || value instanceof File) ) { |
|
1074 |
int x = value.toString().length(); |
|
1066 | 1075 |
if (sizes[i] < x) { |
1067 | 1076 |
sizes[i] = x; |
1068 | 1077 |
} |
Also available in: Unified diff