private function makeQueryResultForInstance(RepositoryResult $repositoryResult, Query $query) { $resultDataItems = array(); foreach ($repositoryResult as $resultRow) { if (count($resultRow) > 0 && $resultRow[0] instanceof ExpElement) { $dataItem = Exporter::getInstance()->findDataItemForExpElement($resultRow[0]); if (!is_null($dataItem)) { $resultDataItems[] = $dataItem; } } } if ($repositoryResult->numRows() > $query->getLimit()) { if (count($resultDataItems) > 1) { array_pop($resultDataItems); } $hasFurtherResults = true; } else { $hasFurtherResults = false; } $result = new QueryResult($query->getDescription()->getPrintrequests(), $query, $resultDataItems, $this->store, $hasFurtherResults); switch ($repositoryResult->getErrorCode()) { case RepositoryResult::ERROR_NOERROR: break; case RepositoryResult::ERROR_INCOMPLETE: $result->addErrors(array(wfMessage('smw_db_sparqlqueryincomplete')->inContentLanguage()->text())); break; default: $result->addErrors(array(wfMessage('smw_db_sparqlqueryproblem')->inContentLanguage()->text())); break; } return $result; }
public function testGetNumericValue() { $instance = new RepositoryResult(array(), array(array(new ExpLiteral('2', 'http://www.w3.org/2001/XMLSchema#integer')))); $this->assertEquals(1, $instance->numRows()); $this->assertSame(2, $instance->getNumericValue()); }