Search in sources :

Example 1 with Or

use of com.vaadin.data.util.filter.Or in project VaadinUtils by rlsutton1.

the class ExampleLayout method getContainerFilter.

@Override
protected Filter getContainerFilter(String filterText, boolean advancedSearchActive) {
    Filter filter = null;
    String[] searchFields = new String[] { "name" };
    for (String property : searchFields) {
        if (filter == null) {
            filter = new SimpleStringFilter(property, filterText, true, false);
        }
        filter = new Or(new SimpleStringFilter(property, filterText, true, false), filter);
    }
    return filter;
}
Also used : Or(com.vaadin.data.util.filter.Or) Filter(com.vaadin.data.Container.Filter) SimpleStringFilter(com.vaadin.data.util.filter.SimpleStringFilter) SimpleStringFilter(com.vaadin.data.util.filter.SimpleStringFilter)

Example 2 with Or

use of com.vaadin.data.util.filter.Or in project VaadinUtils by rlsutton1.

the class TwinColumnSearchableSelect method refreshSelected.

private void refreshSelected() {
    final List<Long> selectedIds = beans.getItemIds();
    if (selectedIds.size() == 1) {
        selectedFilter = new Not(new Compare.Equal(beanIdField.getName(), selectedIds.get(0)));
        availableTable.triggerFilter();
        return;
    }
    final Vector<Filter> filters = new Vector<>();
    for (Long id : selectedIds) {
        filters.add(new Compare.Equal(beanIdField.getName(), id));
    }
    selectedFilter = new Not(new Or(filters.toArray(new Filter[filters.size()])));
    availableTable.triggerFilter();
}
Also used : Not(com.vaadin.data.util.filter.Not) Or(com.vaadin.data.util.filter.Or) Filter(com.vaadin.data.Container.Filter) NullFilter(au.com.vaadinutils.dao.NullFilter) SimpleStringFilter(com.vaadin.data.util.filter.SimpleStringFilter) Compare(com.vaadin.data.util.filter.Compare) Vector(java.util.Vector)

Example 3 with Or

use of com.vaadin.data.util.filter.Or in project VaadinUtils by rlsutton1.

the class TwinColumnSelect method refreshSelected.

private void refreshSelected() {
    final List<Long> selectedIds = selectedBeans.getItemIds();
    if (selectedIds.size() == 1) {
        selectedFilter = new Not(new Compare.Equal(beanIdField.getName(), selectedIds.get(0)));
        availableGrid.triggerFilter();
        return;
    }
    final Vector<Filter> filters = new Vector<>();
    for (Long id : selectedIds) {
        filters.add(new Compare.Equal(beanIdField.getName(), id));
    }
    selectedFilter = new Not(new Or(filters.toArray(new Filter[filters.size()])));
    availableGrid.triggerFilter();
}
Also used : Not(com.vaadin.data.util.filter.Not) Or(com.vaadin.data.util.filter.Or) Filter(com.vaadin.data.Container.Filter) NullFilter(au.com.vaadinutils.dao.NullFilter) SimpleStringFilter(com.vaadin.data.util.filter.SimpleStringFilter) Compare(com.vaadin.data.util.filter.Compare) Vector(java.util.Vector)

Example 4 with Or

use of com.vaadin.data.util.filter.Or in project VaadinUtils by rlsutton1.

the class ReportParameterDependantTable method applyParentFilters.

private void applyParentFilters(Collection<Long> selectedIds) {
    super.removeAllContainerFilters();
    boolean filtersAdded = false;
    if (selectedIds.size() > 0) {
        Filter filter = null;
        Set<Long> ids = new HashSet<>();
        for (Long parentId : selectedIds) {
            for (Long id : mapParentIdToPrimaryKey(parentId)) {
                if (id != null) {
                    ids.add(id);
                }
            }
        }
        // set filters on de-duped id list
        for (Long id : ids) {
            filtersAdded = true;
            if (filter == null) {
                filter = new Compare.Equal(getPrimaryKeyFieldName(), id);
            } else {
                filter = new Or(filter, new Compare.Equal(getPrimaryKeyFieldName(), id));
            }
        }
        if (filter != null) {
            addContainerFilter(filter);
        }
    }
    if (!filtersAdded) {
        addContainerFilter(new Compare.Equal(getPrimaryKeyFieldName(), -1));
    }
    grid.deselectAll();
}
Also used : Or(com.vaadin.data.util.filter.Or) Filter(com.vaadin.data.Container.Filter) Compare(com.vaadin.data.util.filter.Compare) HashSet(java.util.HashSet)

Example 5 with Or

use of com.vaadin.data.util.filter.Or in project VaadinUtils by rlsutton1.

the class ReportParameterDependantTableSingleSelect method setParentFilter.

/**
 * provide the parent ReportParameterTable, this method will attach this
 * parameter as a value change listener so that selections will cascade to
 * the reportparameter
 *
 * @param parent
 */
public void setParentFilter(ReportParameterSelectionListener<P> parent) {
    ValueChangeListener listener = new ValueChangeListener() {

        private static final long serialVersionUID = -3033912391060894738L;

        @Override
        public void valueChange(ValueChangeEvent event) {
            @SuppressWarnings("unchecked") Collection<Long> selectedIds = (Collection<Long>) event.getProperty().getValue();
            removeAllContainerFilters();
            boolean filtersAdded = false;
            if (selectedIds != null) {
                if (selectedIds.size() > 0) {
                    Filter filter = null;
                    for (Long parentId : selectedIds) {
                        for (Long id : mapParentIdToPrimaryKey(parentId)) {
                            filtersAdded = true;
                            if (filter == null) {
                                filter = new Compare.Equal(getPrimaryKeyFieldName(), id);
                            } else {
                                filter = new Or(filter, new Compare.Equal(getPrimaryKeyFieldName(), id));
                            }
                        }
                    }
                    if (filter != null) {
                        addContainerFilter(filter);
                    }
                }
            }
            if (!filtersAdded) {
                addContainerFilter(new Compare.Equal(getPrimaryKeyFieldName(), -1));
            }
            grid.deselectAll();
        }
    };
    addContainerFilter(new Compare.Equal(getPrimaryKeyFieldName(), -1));
    parent.addSelectionListener(listener);
}
Also used : ValueChangeEvent(com.vaadin.data.Property.ValueChangeEvent) ValueChangeListener(com.vaadin.data.Property.ValueChangeListener) Or(com.vaadin.data.util.filter.Or) Filter(com.vaadin.data.Container.Filter) Collection(java.util.Collection) Compare(com.vaadin.data.util.filter.Compare)

Aggregations

Filter (com.vaadin.data.Container.Filter)6 Or (com.vaadin.data.util.filter.Or)6 Compare (com.vaadin.data.util.filter.Compare)4 SimpleStringFilter (com.vaadin.data.util.filter.SimpleStringFilter)4 NullFilter (au.com.vaadinutils.dao.NullFilter)2 Not (com.vaadin.data.util.filter.Not)2 Vector (java.util.Vector)2 ValueChangeEvent (com.vaadin.data.Property.ValueChangeEvent)1 ValueChangeListener (com.vaadin.data.Property.ValueChangeListener)1 Collection (java.util.Collection)1 HashSet (java.util.HashSet)1