Revision 40372 branches/v2_0_0_prep/libraries/libFMap_mapcontext/src/org/gvsig/fmap/mapcontext/layers/vectorial/EqualsGeometryEvaluator.java

View differences:

EqualsGeometryEvaluator.java
9 9
import org.gvsig.fmap.geom.Geometry;
10 10
import org.gvsig.fmap.geom.operation.GeometryOperationException;
11 11
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException;
12
import org.gvsig.fmap.geom.operation.relationship.DefaultRelationshipGeometryOperationContext;
13
import org.gvsig.fmap.geom.operation.relationship.Equals;
14
import org.gvsig.fmap.geom.operation.towkt.ToWKT;
15 12
import org.gvsig.tools.evaluator.AbstractEvaluator;
16 13
import org.gvsig.tools.evaluator.EvaluatorData;
17 14
import org.gvsig.tools.evaluator.EvaluatorException;
......
58 55

  
59 56
	public Object evaluate(EvaluatorData data) throws EvaluatorException {
60 57
		try {
61
			DefaultRelationshipGeometryOperationContext context;
58
			Geometry geom = null;
62 59
			if (isDefault) {
63 60
				Feature feature = (Feature) data.getContextValue("feature");
64
				context =new DefaultRelationshipGeometryOperationContext(feature
65
						.getDefaultGeometry());
61
				geom =feature.getDefaultGeometry();
66 62

  
67 63
			} else {
68
				Geometry geom = (Geometry) data.getDataValue(geomName);
69

  
70
				context = new DefaultRelationshipGeometryOperationContext(geom);
64
				geom = (Geometry) data.getDataValue(geomName);
71 65
			}
72
			return geometryTrans.invokeOperation(Equals.CODE, context);
66
			return new Boolean(geometryTrans.equals(geom));
73 67

  
74 68
		} catch (Exception e) {
75 69
			throw new EvaluatorException(e);
......
83 77
	public String getSQL() {
84 78
		if (geometryWKT == null) {
85 79
			try {
86
				geometryWKT = (String) geometry.invokeOperation(ToWKT.CODE,
87
						null);
80
				geometryWKT = geometry.convertToWKT();
88 81
			} catch (GeometryOperationNotSupportedException e) {
89 82
				throw new DataEvaluatorRuntimeException(e);
90 83
			} catch (GeometryOperationException e) {

Also available in: Unified diff