protected function _addGroup(GroupListModel $result, $filterList, $filterArray, $label, $avoidClosed = false) { try { //Closed alarms $newFilterList = clone $filterList; if ($avoidClosed) { $filterArray[] = array('fieldName' => AlarmFilterFields::STATE, 'value' => AlarmModel::STATE_CLOSED, 'inverted' => true); } foreach ($filterArray as $filter) { $newFilterList->addFilter(new \App_ListFilter_EqualFilter($filter)); } $partialResult = $this->_alarmSrv->listAll($newFilterList, array('paging' => array('count' => 0))); if ($partialResult instanceof ListResultModel) { $result->addGroup(new GroupCountResultModel(array('label' => $label, 'stream' => $partialResult))); } } catch (PermissionException $e) { //Nothing to do } catch (NotAllowedException $e) { //Nothing to do } }