public function testCursorNotExistsChangingSort() { $filters = $this->filters; $randNum = rand(1, 15); for ($i = 0; $i < $randNum; $i++) { $filters[] = new App_ListFilter_EqualFilter(array('fieldName' => 'randomFieldName' . ($i + 1), 'value' => 'equal' . microtime(true))); } $listFilter1 = new App_ListFilter(array('filters' => $filters)); $listFilter1->setSortingField('fieldName1'); $listFilter1->setSortType(App_ListFilter::SORT_TYPE_ASC); $cursor = "testingCursor" . microtime(true); $listFilter1->setCursor($cursor, 1); $filters2 = $filters; $listFilter2 = new App_ListFilter(array('filters' => $filters2)); $listFilter2->setSortingField('fieldName1'); $listFilter2->setSortType(App_ListFilter::SORT_TYPE_DESC); $cursor2 = $listFilter2->getCursor(); $this->assertFalse($cursor2); }
protected function _processDataMessage(InventoryData $dataMessage, Paging $paging, \App_ListFilter $filterList = null, $protoResponse = false) { $result = array(); $result['count'] = $dataMessage->getRowCounter(); $description = $dataMessage->getDescription(); if (!$description && $description !== "0") { $description = self::DEFAULT_GROUP_LABEL; } $result['label'] = $description; if (isset($filterList) && $filterList->getHighlighting() === null) { $cursor = $dataMessage->getHandler(); if ($result['label'] !== null) { $filterList->setGroup($result['label']); } $filterList->setCursor($cursor, $result['count'], $paging->getMaxTimeout()); $result['cursor'] = $cursor; } $rows = $dataMessage->getPageList(); //For streaming if ($protoResponse) { return $rows; } $items = array(); $codec = new \DrSlump\Protobuf\Codec\PhpArray(); if (!empty($rows)) { foreach ($rows as $row) { $data = $codec->encode($row); $id = $data['id']; $items[] = $this->_mapEricssonModelToModel($data); } } $result['items'] = $items; return $result; }