Revision 43913 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureQuery.java

View differences:

DefaultFeatureQuery.java
30 30
import java.util.logging.Level;
31 31
import java.util.logging.Logger;
32 32
import org.apache.commons.lang3.ArrayUtils;
33
import org.apache.commons.lang3.StringUtils;
33 34
import org.gvsig.fmap.dal.DALLocator;
34 35
import org.gvsig.fmap.dal.DataTypes;
35 36
import org.gvsig.fmap.dal.exception.DataException;
......
329 330

  
330 331
    @Override
331 332
    public void setFilter(String filter) {
333
        if( StringUtils.isEmpty(filter) ) {
334
            this.clearFilter();
335
            return;
336
        }
332 337
        try {
333 338
            this.setFilter(DALLocator.getDataManager().createExpresion(filter));
334 339
        } catch (Exception ex) {
......
338 343

  
339 344
    @Override
340 345
    public void setFilter(Evaluator filter) {
346
        if( filter == null ) {
347
            this.clearFilter();
348
            return;
349
        }        
341 350
        this.filter = filter;
342 351
        addFilterAttributes(filter);
343
//        isAddFilter = false;
344 352
    }
345 353

  
346 354
    @Override
347 355
    public void addFilter(String filter) {
356
        if( StringUtils.isEmpty(filter) ) {
357
            return;
358
        }
348 359
        try {
349 360
            this.addFilter(DALLocator.getDataManager().createExpresion(filter));
350 361
        } catch (Exception ex) {
......
354 365

  
355 366
    @Override
356 367
    public void addFilter(Evaluator evaluator) {
357
        if( evaluator == null ) {
368
        if (evaluator == null) {
358 369
            return;
359 370
        }
360
//        if (isAddFilter){
361
            if (this.filter == null){
362
                this.filter = evaluator;
363
            }else{
364
                if (evaluator != null){
365
                    if (this.filter instanceof AndEvaluator){
366
                        ((AndEvaluator)this.filter).addEvaluator(evaluator);
367
                    }else{
368
                        this.filter = new AndEvaluator(this.filter);
369
                        ((AndEvaluator)this.filter).addEvaluator(evaluator);
370
                    }
371
                }
371
        if (this.filter == null) {
372
            this.filter = evaluator;
373
        } else {
374
            if (this.filter instanceof AndEvaluator) {
375
                ((AndEvaluator) this.filter).addEvaluator(evaluator);
376
            } else {
377
                this.filter = new AndEvaluator(this.filter);
378
                ((AndEvaluator) this.filter).addEvaluator(evaluator);
372 379
            }
373
//        }else{
374
//            this.filter = evaluator;
375
//        }
380
        }
376 381
        addFilterAttributes(evaluator);
377
//        isAddFilter = true;
378 382
    }
379 383

  
380 384
    @Override

Also available in: Unified diff