if( query.getFilter()==Filter.EXCLUDE ){
return query; // nothing to draw get out of here!
}
FilterFactory ff=CommonFactoryFinder.getFilterFactory();
Object editFilter=getLayer().getBlackboard().get(ProjectBlackboardConstants.MAP__RENDERING_FILTER);
if (!(editFilter instanceof Filter) ){
return query;
}
if( (editFilter instanceof Id) && ((Id)editFilter).getIDs().isEmpty() ){
return query;
}
Filter newFilter;
try {
if( query.getFilter()==Filter.INCLUDE){
newFilter=ff.not((Filter) editFilter);
}else{
editFilter=ff.not((Filter) editFilter);
newFilter=ff.and((Filter)query.getFilter(), (Filter) editFilter);
}
} catch (IllegalFilterException e) {
return query;
}
// return new Query( query.getTypeName(), query.getNamespace(), newFilter, query.getMaxFeatures(), query.getPropertyNames(), query.getHandle());