Index: SpatialEvaluatorsFactory.java
===================================================================
--- SpatialEvaluatorsFactory.java	(revision 44643)
+++ SpatialEvaluatorsFactory.java	(revision 44644)
@@ -1,7 +1,8 @@
 package org.gvsig.fmap.mapcontext.layers.vectorial;
 
 import org.cresques.cts.IProjection;
-import org.gvsig.expressionevaluator.ExpressionBuilder;
+import org.gvsig.expressionevaluator.GeometryExpressionBuilder;
+import org.gvsig.expressionevaluator.GeometryExpressionUtils;
 import org.gvsig.fmap.dal.exception.DataException;
 import org.gvsig.fmap.dal.feature.FeatureStore;
 import org.gvsig.fmap.dal.feature.FeatureType;
@@ -32,7 +33,7 @@
             IProjection projection, 
             FeatureType featureType,
             String geomName,
-            ExpressionBuilder builder
+            GeometryExpressionBuilder builder
         ) {
         return new IntersectsGeometryEvaluator(geometry, projection, featureType, geomName, builder);
     }
@@ -42,7 +43,7 @@
             IProjection projection, 
             FeatureType featureType,
             String geomName,
-            ExpressionBuilder builder
+            GeometryExpressionBuilder builder
         ) {
         return new IntersectsEnvelopeEvaluator(envelope, projection, featureType, geomName, builder);
     }
@@ -55,7 +56,7 @@
         try {
             FeatureType featureType = store.getDefaultFeatureType();
             String geomName = featureType.getDefaultGeometryAttributeName();
-            ExpressionBuilder builder = (ExpressionBuilder) store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return intersects(geometry, projection, featureType, geomName,builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create intersects evaluator.",ex);
@@ -70,7 +71,7 @@
         ) {
         try {
             FeatureType featureType = store.getDefaultFeatureType();
-            ExpressionBuilder builder = (ExpressionBuilder) store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return intersects(geometry, projection, featureType, geomfield, builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create intersects evaluator.",ex);
@@ -85,7 +86,7 @@
         try {
             FeatureType featureType = store.getDefaultFeatureType();
             String geomName = featureType.getDefaultGeometryAttributeName();
-            ExpressionBuilder builder = store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return intersects(envelope, projection, featureType, geomName,builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create intersects evaluator.",ex);
@@ -97,7 +98,7 @@
             IProjection projection, 
             FeatureType featureType,
             String geomName,
-            ExpressionBuilder builder
+            GeometryExpressionBuilder builder
         ){
         return new ContainsEnvelopeEvaluator(envelope, projection, featureType, geomName, builder);
     }
@@ -107,7 +108,7 @@
             IProjection projection, 
             FeatureType featureType,
             String geomName,
-            ExpressionBuilder builder
+            GeometryExpressionBuilder builder
         ){
         return new ContainsGeometryEvaluator(geometry, projection, featureType, geomName, builder);
     }
@@ -120,7 +121,7 @@
         try {
             FeatureType featureType = store.getDefaultFeatureType();
             String geomName = featureType.getDefaultGeometryAttributeName();
-            ExpressionBuilder builder = store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return this.contains(geometry, projection, featureType, geomName,builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create contains evaluator.",ex);
@@ -135,7 +136,7 @@
         try {
             FeatureType featureType = store.getDefaultFeatureType();
             String geomName = featureType.getDefaultGeometryAttributeName();
-            ExpressionBuilder builder = store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return this.contains(envelope, projection, featureType, geomName,builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create contains evaluator.",ex);
@@ -147,7 +148,7 @@
             IProjection projection, 
             FeatureType featureType,
             String geomName,
-            ExpressionBuilder builder
+            GeometryExpressionBuilder builder
         ){
         return new OutGeometryEvaluator(geometry, projection, featureType, geomName, builder);
     }
@@ -160,7 +161,7 @@
         try {
             FeatureType featureType = store.getDefaultFeatureType();
             String geomName = featureType.getDefaultGeometryAttributeName();
-            ExpressionBuilder builder = store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return this.not_contains(geometry, projection, featureType, geomName,builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create not_contains evaluator.",ex);
@@ -172,7 +173,7 @@
             IProjection projection, 
             FeatureType featureType,
             String geomName,
-            ExpressionBuilder builder
+            GeometryExpressionBuilder builder
         ) {
         return new CrossesGeometryEvaluator(geometry, projection, featureType, geomName, builder);
     }
@@ -182,7 +183,7 @@
             IProjection projection, 
             FeatureType featureType,
             String geomName,
-            ExpressionBuilder builder
+            GeometryExpressionBuilder builder
         ) {
         return new CrossEnvelopeEvaluator(envelope, projection, featureType, geomName, builder);
     }
@@ -195,7 +196,7 @@
         try {
             FeatureType featureType = store.getDefaultFeatureType();
             String geomName = featureType.getDefaultGeometryAttributeName();
-            ExpressionBuilder builder = store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return this.crosses(geometry, projection, featureType, geomName,builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create crosses evaluator.",ex);
@@ -210,7 +211,7 @@
         try {
             FeatureType featureType = store.getDefaultFeatureType();
             String geomName = featureType.getDefaultGeometryAttributeName();
-            ExpressionBuilder builder = store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return this.crosses(envelope, projection, featureType, geomName,builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create crosses evaluator.",ex);
@@ -222,7 +223,7 @@
             IProjection projection, 
             FeatureType featureType,
             String geomName,
-            ExpressionBuilder builder
+            GeometryExpressionBuilder builder
         ) {
         return new DisjointGeometryEvaluator(geometry, projection, featureType, geomName, builder);
     }    
@@ -235,7 +236,7 @@
         try {
             FeatureType featureType = store.getDefaultFeatureType();
             String geomName = featureType.getDefaultGeometryAttributeName();
-            ExpressionBuilder builder = store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return this.disjoint(geometry, projection, featureType, geomName,builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create disjoint evaluator.",ex);
@@ -247,7 +248,7 @@
             IProjection projection, 
             FeatureType featureType,
             String geomName,
-            ExpressionBuilder builder
+            GeometryExpressionBuilder builder
         ) {
         return new OverlapsGeometryEvaluator(geometry, projection, featureType, geomName, builder);
     }    
@@ -260,7 +261,7 @@
         try {
             FeatureType featureType = store.getDefaultFeatureType();
             String geomName = featureType.getDefaultGeometryAttributeName();
-            ExpressionBuilder builder = store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return this.overlaps(geometry, projection, featureType, geomName,builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create overlaps evaluator.",ex);
@@ -272,7 +273,7 @@
             IProjection projection, 
             FeatureType featureType,
             String geomName,
-            ExpressionBuilder builder
+            GeometryExpressionBuilder builder
         ) {
         return new TouchesGeometryEvaluator(geometry, projection, featureType, geomName,builder);
     }    
@@ -285,7 +286,7 @@
         try {
             FeatureType featureType = store.getDefaultFeatureType();
             String geomName = featureType.getDefaultGeometryAttributeName();
-            ExpressionBuilder builder = store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return this.touches(geometry, projection, featureType, geomName,builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create touches evaluator.",ex);
@@ -297,7 +298,7 @@
             IProjection projection, 
             FeatureType featureType,
             String geomName,
-            ExpressionBuilder builder
+            GeometryExpressionBuilder builder
         ) {
         return new WithinGeometryEvaluator(geometry, projection, featureType, geomName,builder);
     }    
@@ -310,7 +311,7 @@
         try {
             FeatureType featureType = store.getDefaultFeatureType();
             String geomName = featureType.getDefaultGeometryAttributeName();
-            ExpressionBuilder builder = store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return this.within(geometry, projection, featureType, geomName,builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create within evaluator.",ex);
@@ -322,7 +323,7 @@
             IProjection projection, 
             FeatureType featureType,
             String geomName,
-            ExpressionBuilder builder
+            GeometryExpressionBuilder builder
         ) {
         return new EqualsGeometryEvaluator(geometry, projection, featureType, geomName,builder);
     }    
@@ -335,7 +336,7 @@
         try {
             FeatureType featureType = store.getDefaultFeatureType();
             String geomName = featureType.getDefaultGeometryAttributeName();
-            ExpressionBuilder builder = store.createExpressionBuilder();
+            GeometryExpressionBuilder builder = GeometryExpressionUtils.createExpressionBuilder();
             return this.equals(geometry, projection, featureType, geomName,builder);
         } catch (DataException ex) {
             throw new RuntimeException("Can't create equals evaluator.",ex);
