Revision 44432 trunk/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/CoerceToEnvelope.java

View differences:

CoerceToEnvelope.java
29 29
import org.gvsig.fmap.geom.primitive.Envelope;
30 30
import org.gvsig.tools.dataTypes.CoercionException;
31 31
import org.gvsig.tools.dataTypes.DataTypesManager.Coercion;
32

  
32 33
/**
33 34
 * Convert a object to Envelope.
34
 * 
35
 * Support convert:
36
 * - Envelope to Envelope (do nothing)
37
 * - Geometry to Envelope
38
 * - WKB (byte[]) to Geometry
39
 * - WKT (String/toString) to Geometry
40
 * 
41
 *  
35
 *
36
 * Support convert: - Envelope to Envelope (do nothing) - Geometry to Envelope -
37
 * WKB (byte[]) to Geometry - WKT (String/toString) to Geometry
38
 *
39
 *
42 40
 * @author gvSIG Team
43 41
 * @version $Id$
44
 * 
42
 *
45 43
 */
44
@SuppressWarnings("UseSpecificCatch")
46 45
public class CoerceToEnvelope implements Coercion {
47 46

  
48
	public Object coerce(Object value) throws CoercionException {
49
		try {
50
			if(value == null || value instanceof Envelope ) {
51
				return value;
52
			}
53
			if( value instanceof Geometry ) {
54
				return ((Geometry)value).getEnvelope();
55
			}
56
			GeometryManager manager = GeometryLocator.getGeometryManager();
57
			if( value instanceof byte[] ) {
58
				Geometry geom = manager.createFrom((byte[])value);
59
				return geom.getEnvelope();
60
			}
61
			Geometry geom = manager.createFrom(value.toString());
62
			return geom.getEnvelope(); 
63
		} catch (Exception e) {
64
			throw new CoercionException(e);
65
		}
47
    @Override
48
    public Object coerce(Object value) throws CoercionException {
49
        try {
50
            if (value == null || value instanceof Envelope) {
51
                return value;
52
            }
53
            if (value instanceof Geometry) {
54
                return ((Geometry) value).getEnvelope();
55
            }
56
            Geometry geom;
57
            GeometryManager manager = GeometryLocator.getGeometryManager();
58
            if (value instanceof byte[]) {
59
                geom = manager.createFrom((byte[]) value);
60
            } else {
61
                geom = manager.createFrom(value.toString());
62
            }
63
            if (geom == null) {
64
                throw new CoercionException();
65
            }
66
            return geom.getEnvelope();
67
        } catch (Exception e) {
68
            throw new CoercionException(e);
69
        }
66 70

  
67
	}
71
    }
68 72

  
69 73
}

Also available in: Unified diff