Revision 47652 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/feature/spi/AbstractFeatureSetProvider.java
AbstractFeatureSetProvider.java | ||
---|---|---|
244 | 244 |
filterCode.accept(new Visitor() { |
245 | 245 |
@Override |
246 | 246 |
public void visit(Object obj) throws VisitCanceledException, BaseException { |
247 |
if( Code.isFunction((Code) obj, "ST_INTERSECTS") || Code.isFunction((Code) obj, "ST_CONTAINS")) { |
|
248 |
Code.Callable intersects = (Code.Callable)obj; |
|
247 |
if (Code.isFunction((Code) obj, "ST_INTERSECTS") |
|
248 |
|| Code.isFunction((Code) obj, "ST_CONTAINS") |
|
249 |
|| Code.isFunction((Code) obj, "&&")) { |
|
250 |
Code.Callable intersects = (Code.Callable) obj; |
|
249 | 251 |
Code p1 = intersects.parameters().get(0); |
250 | 252 |
Code p2 = intersects.parameters().get(1); |
251 | 253 |
Code sq = null; |
252 |
if( Code.isIdentifier(p1, geomdesc.getName()) ) {
|
|
254 |
if (Code.isIdentifier(p1, geomdesc.getName())) {
|
|
253 | 255 |
sq = p2; |
254 |
} else if( Code.isIdentifier(p2, geomdesc.getName()) ) {
|
|
256 |
} else if (Code.isIdentifier(p2, geomdesc.getName())) {
|
|
255 | 257 |
sq = p1; |
256 | 258 |
} |
257 |
if( sq != null ) {
|
|
259 |
if (sq != null) {
|
|
258 | 260 |
spatialQuery.setValue(sq); |
259 | 261 |
throw new VisitCanceledException(); |
260 | 262 |
} |
Also available in: Unified diff