protected void doSearch() { Filter filter = featureLayer.filter(); String s = searchText.getText().getText(); if (!StringUtils.isBlank(s)) { if (!s.contains("*") && !s.contains("?")) { s = s + "*"; } for (PropertyDescriptor prop : fs.getSchema().getDescriptors()) { if (String.class.isAssignableFrom(prop.getType().getBinding())) { PropertyIsLike isLike = ff.like(ff.property(prop.getName()), s, "*", "?", "\\"); filter = filter == Filter.INCLUDE ? isLike : ff.or(filter, isLike); } } } viewer.setSelection(StructuredSelection.EMPTY); log.info("FILTER: " + filter); // FeatureCollection filtered = features.subCollection( filter ); // log.info( "RESULT: " + filtered.size() ); contentProvider.filter(filter); }