Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.db / org.gvsig.fmap.dal.db.mdb / src / main / java / org / gvsig / fmap / dal / store / mdb / operations / CoercionGeometryToString.java @ 45008

History | View | Annotate | Download (1.37 KB)

1
package org.gvsig.fmap.dal.store.mdb.operations;
2

    
3
import org.apache.commons.codec.binary.Hex;
4
import org.gvsig.fmap.geom.Geometry;
5
import org.gvsig.fmap.geom.operation.GeometryOperationException;
6
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException;
7
import org.gvsig.tools.dataTypes.AbstractCoercion;
8
import org.gvsig.tools.dataTypes.CoercionContext;
9
import org.gvsig.tools.dataTypes.CoercionException;
10

    
11
/**
12
 *
13
 * @author omartinez
14
 */
15
public class CoercionGeometryToString extends AbstractCoercion {
16

    
17
//    private final FieldFormatter formater;
18
    
19
     public CoercionGeometryToString() {
20
//        this.formater = new FieldFormatter();
21
    }
22

    
23
    @Override
24
    public Object coerce(Object value, CoercionContext context) throws CoercionException {
25
        if( value instanceof Geometry ) {
26
            Geometry geom = (Geometry) value;
27
            byte[] wkb;
28
            try {
29
                wkb = geom.convertToWKB();
30
            } catch (GeometryOperationException ex) {
31
                throw new CoercionException("Not able to convert geometry to WKB format");
32
            } catch (GeometryOperationNotSupportedException ex) {
33
                throw new CoercionException("Not able to convert geometry to WKB format");
34
            }
35
            String hexString = Hex.encodeHexString(wkb);
36
            return hexString;
37
        }
38
        
39
        return null;
40
    }
41

    
42
}
43