protected function _findHighlightingEricsson(\App_ListFilter $filterList, $data, $paging, $force = true) { // $methodName = self::METHOD_NAME_SPLIT; $methodName = self::METHOD_NAME_HIGHLIGHTING; $highlighting = $filterList->getHighlighting(); $filterMapper = new SimFilterMapper(); $grouping = $filterMapper->mapHighlightingToMessage($filterList); $filterList->setHighlighting(null); if (!$filterList->getCursor()) { $data = array(); $data['maxFirstPages'] = 0; $data['filterList'] = clone $filterList; $data['filterList']->setGroup(null); $this->_findAllEricsson($data); // $this->_findGroupEricsson(clone $filterList, $data, $paging); } $filterList->setHighlighting(null); if (!$filterList->getCursor()) { throw new InvalidArgumentException("Group '{$filterList->getGroup()}' does not exist"); } $proto = $this->_createProto($methodName); $proto->setQueryHandler($filterList->getCursor()); // $proto->setQueryPaging($paging); // $proto->setGroupsWithFirstPage(0); // $proto->setGrouping($grouping); $response = $this->_sendRequest($methodName, array('protoMessage' => $proto)); try { return $this->_processFindAllHightlightingResponse($response, $paging, $filterList); } catch (EricssonException $e) { $filterList->cleanCursor(); if ($force) { $filterList->getHighlighting($highlighting); return $this->_findHighlightingEricsson($filterList, $data, $paging, false); } throw $e; } }
/** * Maps FilterList Highlighting to message const * @param \App_ListFilter $filterList * @return integer | null */ public function mapHighlightingToMessage(\App_ListFilter $filterList) { return $this->_mapGroupingToMessage($filterList->getHighlighting()); }