/** * Sets up this test case * */ public function setUp() { $this->persistenceManager = $this->getMockBuilder(\TYPO3\Flow\Persistence\Generic\PersistenceManager::class)->disableOriginalConstructor()->getMock(); $this->persistenceManager->expects($this->any())->method('getObjectDataByQuery')->will($this->returnValue(array('one', 'two'))); $this->dataMapper = $this->createMock(\TYPO3\Flow\Persistence\Generic\DataMapper::class); $this->query = $this->createMock(\TYPO3\Flow\Persistence\QueryInterface::class); $this->queryResult = new QueryResult($this->query); $this->queryResult->injectPersistenceManager($this->persistenceManager); $this->queryResult->injectDataMapper($this->dataMapper); $this->sampleResult = array(array('foo' => 'Foo1', 'bar' => 'Bar1'), array('foo' => 'Foo2', 'bar' => 'Bar2')); $this->dataMapper->expects($this->any())->method('mapToObjects')->will($this->returnValue($this->sampleResult)); }
/** * Sets up this test case * */ public function setUp() { $this->persistenceManager = $this->getMock('TYPO3\\Flow\\Persistence\\Generic\\PersistenceManager', array(), array(), '', FALSE); $this->persistenceManager->expects($this->any())->method('getObjectDataByQuery')->will($this->returnValue(array('one', 'two'))); $this->dataMapper = $this->getMock('TYPO3\\Flow\\Persistence\\Generic\\DataMapper'); $this->query = $this->getMock('TYPO3\\Flow\\Persistence\\QueryInterface'); $this->queryResult = new QueryResult($this->query); $this->queryResult->injectPersistenceManager($this->persistenceManager); $this->queryResult->injectDataMapper($this->dataMapper); $this->sampleResult = array(array('foo' => 'Foo1', 'bar' => 'Bar1'), array('foo' => 'Foo2', 'bar' => 'Bar2')); $this->dataMapper->expects($this->any())->method('mapToObjects')->will($this->returnValue($this->sampleResult)); }
/** * Returns the first object in the result set, if any. * * @return mixed The first object of the result set or NULL if the result set was empty * @api */ public function getFirst() { if (is_array($this->queryResult)) { $queryResult =& $this->queryResult; } else { $query = clone $this->query; $query->setLimit(1); $queryResult = $this->dataMapper->mapToObjects($this->persistenceManager->getObjectDataByQuery($query)); } return isset($queryResult[0]) ? $queryResult[0] : null; }
/** * Returns the object with the (internal) identifier, if it is known to the * backend. Otherwise NULL is returned. * * @param mixed $identifier * @param string $objectType * @param boolean $useLazyLoading This option is ignored in this persistence manager * @return object The object for the identifier if it is known, or NULL * @api */ public function getObjectByIdentifier($identifier, $objectType = null, $useLazyLoading = false) { if (isset($this->newObjects[$identifier])) { return $this->newObjects[$identifier]; } if ($this->persistenceSession->hasIdentifier($identifier)) { return $this->persistenceSession->getObjectByIdentifier($identifier); } else { $objectData = $this->backend->getObjectDataByIdentifier($identifier, $objectType); if ($objectData !== false) { return $this->dataMapper->mapToObject($objectData); } else { return null; } } }