Revision 47818 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/featuretable/SimpleFeaturesTableModelImpl.java
SimpleFeaturesTableModelImpl.java | ||
---|---|---|
25 | 25 |
import javax.swing.table.DefaultTableColumnModel; |
26 | 26 |
import javax.swing.table.TableCellRenderer; |
27 | 27 |
import javax.swing.table.TableColumn; |
28 |
import org.apache.commons.lang3.ArrayUtils; |
|
28 | 29 |
import org.apache.commons.lang3.StringUtils; |
29 | 30 |
import org.gvsig.expressionevaluator.Expression; |
31 |
import org.gvsig.expressionevaluator.ExpressionBuilder; |
|
32 |
import org.gvsig.expressionevaluator.ExpressionUtils; |
|
30 | 33 |
import org.gvsig.fmap.dal.complements.Search; |
31 | 34 |
import org.gvsig.fmap.dal.exception.DataException; |
32 | 35 |
import org.gvsig.fmap.dal.feature.DataProfile; |
... | ... | |
566 | 569 |
dynObjectManager.registerTag(TAG_FEATURETABLEMODEL_IMAGE_HEIGHT, "Height to use when images have to be represented in a table, by default 48."); |
567 | 570 |
dynObjectManager.registerTag(TAG_FEATURETABLEMODEL_IMAGE_WIDTH, "Width to use when images have to be represented in a table, by default 48."); |
568 | 571 |
} |
572 |
|
|
573 |
@Override |
|
574 |
public Expression getFeaturesFilter(int[] rows) { |
|
575 |
if( ArrayUtils.isEmpty(rows) ) { |
|
576 |
return null; |
|
577 |
} |
|
578 |
ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
|
579 |
for (int row : rows) { |
|
580 |
Feature feature = this.getFeatureAt(row); |
|
581 |
if( feature == null ) { |
|
582 |
continue; |
|
583 |
} |
|
584 |
ExpressionBuilder filter = feature.createBuilderFilter(); |
|
585 |
if( filter == null ) { |
|
586 |
continue; |
|
587 |
} |
|
588 |
builder.or(filter.value()); |
|
589 |
} |
|
590 |
if( builder.value() == null ) { |
|
591 |
return null; |
|
592 |
} |
|
593 |
Expression filter = ExpressionUtils.createExpression(builder.toString()); |
|
594 |
return filter; |
|
595 |
} |
|
569 | 596 |
} |
Also available in: Unified diff