Revision 45273
branches/org.gvsig.desktop-cvsgis1/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/coerce/CoerceToGeometry.java | ||
---|---|---|
23 | 23 |
*/ |
24 | 24 |
package org.gvsig.fmap.geom.jts.coerce; |
25 | 25 |
|
26 |
import org.apache.commons.lang3.StringUtils; |
|
26 | 27 |
import org.gvsig.fmap.geom.Geometry; |
27 | 28 |
import org.gvsig.fmap.geom.GeometryLocator; |
28 | 29 |
import org.gvsig.fmap.geom.GeometryManager; |
... | ... | |
55 | 56 |
if (value instanceof byte[]) { |
56 | 57 |
geom = manager.createFrom((byte[]) value); |
57 | 58 |
} else { |
58 |
// Si no puede pasear el WKT devuelbe null y no lanza una |
|
59 |
// excepcion. |
|
59 |
String wkt = value.toString(); |
|
60 |
if( StringUtils.isBlank(wkt) ) { |
|
61 |
return null; |
|
62 |
} |
|
60 | 63 |
geom = manager.createFrom(value.toString()); |
61 | 64 |
} |
62 | 65 |
if (geom == null) { |
branches/org.gvsig.desktop-cvsgis1/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/DefaultGeometryManager.java | ||
---|---|---|
80 | 80 |
import org.gvsig.tools.service.ServiceException; |
81 | 81 |
import org.gvsig.tools.service.spi.ServiceFactory; |
82 | 82 |
import org.apache.commons.codec.binary.Hex; |
83 |
import org.apache.commons.lang3.StringUtils; |
|
83 | 84 |
|
84 | 85 |
/** |
85 | 86 |
* Default implementation for the {@link GeometryManager}. When the |
... | ... | |
772 | 773 |
@Override |
773 | 774 |
public Geometry createFrom(String wkt) throws GeometryException { |
774 | 775 |
try { |
775 |
if( wkt == null ) {
|
|
776 |
if( StringUtils.isBlank(wkt) ) {
|
|
776 | 777 |
return null; |
777 | 778 |
} |
778 | 779 |
char ch = wkt.charAt(0); |
779 | 780 |
if( (ch == '0' || ch =='1') && (wkt.length() % 2) == 0 ) { |
781 |
// it starts with 0 or 1 and the length is even. Assume it is hexwkb. |
|
780 | 782 |
return createFrom(Hex.decodeHex(wkt.toCharArray())); |
781 | 783 |
} |
782 | 784 |
|
Also available in: Unified diff