}
public boolean filter(String propertyId, Object minValue, boolean minValueIncluded, Object maxValue, boolean maxValueIncluded, Collection allowedValues, int allowMode) throws Exception {
// Get the filter property configuration.
DashboardFilterProperty dashboardFilterProperty = dashboardFilter.getPropertyInFilterComponents(propertyId);
// Apply drill-down.
if (dashboardFilterProperty != null && dashboardFilterProperty.isDrillDownEnabled()) {
Dashboard targetDashboard = dashboardFilterProperty.getDrillDownDashboard();
DashboardFilter targetFilter = targetDashboard.getDashboardFilter();
if (targetDashboard.drillDown(this, propertyId)) {
targetFilter.addProperty(propertyId, minValue, minValueIncluded, maxValue, maxValueIncluded, allowedValues, FilterByCriteria.ALLOW_ANY);
targetDashboard.filter();
return true;