/** @test */
 public function getRendererChainReturnsRendererChainForConfiguration()
 {
     $rendererChainConfiguration = $this->configurationBuilderMock->buildRendererChainConfiguration();
     $rendererChain = $this->rendererChainFactory->getRendererChain($rendererChainConfiguration);
     $renderers = $rendererChain->getRenderers();
     $this->assertEquals(get_class($renderers[0]), 'Tx_PtExtlist_Tests_Domain_Renderer_DummyRenderer');
 }
 /**
  * @return Tx_PtExtlist_Domain_Model_List_IterationListDataInterface|void
  */
 public function getIterationListData()
 {
     $rendererChainConfiguration = $this->configurationBuilder->buildRendererChainConfiguration();
     $rendererChain = $this->rendererChainFactory->getRendererChain($rendererChainConfiguration);
     $dataSource = new Tx_PtExtlist_Tests_Performance_TestDataSource($this->rowCount, $this->colCount);
     $iterationListData = new Tx_PtExtlist_Domain_Model_List_IterationListData();
     $iterationListData->_injectDataSource($dataSource);
     $iterationListData->_injectDataMapper($this->dataMapper);
     $iterationListData->_injectRenderChain($rendererChain);
     return $iterationListData;
 }
 /**
  * @param $rows
  * @param $cols
  * @return Tx_PtExtlist_Domain_Model_List_IterationListData
  */
 protected function getIterationListDataObject($rows, $cols)
 {
     $this->initDefaultConfigurationBuilderMock();
     $dataSource = new Tx_PtExtlist_Tests_Performance_TestDataSource($rows, $cols);
     $dataMapper = new Tx_PtExtlist_Domain_DataBackend_Mapper_ArrayMapper($this->configurationBuilderMock);
     $rendererChainConfiguration = $this->configurationBuilderMock->buildRendererChainConfiguration();
     $rendererChain = $this->rendererChainFactory->getRendererChain($rendererChainConfiguration);
     $fixture = new Tx_PtExtlist_Domain_Model_List_IterationListData();
     $fixture->_injectDataSource($dataSource);
     $fixture->_injectDataMapper($dataMapper);
     $fixture->_injectRenderChain($rendererChain);
     return $fixture;
 }
 /**
  * Returns a full featured list object.
  *
  * @param Tx_PtExtlist_Domain_DataBackend_DataBackendInterface $dataBackend
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @param boolean $resetList
  * @return Tx_PtExtlist_Domain_Model_List_List
  */
 public function createList(Tx_PtExtlist_Domain_DataBackend_DataBackendInterface $dataBackend, Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, $resetList = false)
 {
     $list = new Tx_PtExtlist_Domain_Model_List_List();
     // We have to build headers here, as they are no longer created by data backend
     $listHeader = $this->listHeaderFactory->createInstance($configurationBuilder, $resetList);
     $list->setListHeader($listHeader);
     $list->setRendererChain($this->rendererChainFactory->getRendererChain($configurationBuilder->buildRendererChainConfiguration()));
     if ($configurationBuilder->buildListConfiguration()->getUseIterationListData()) {
         $list->setIterationListData($dataBackend->getIterationListData());
         $list->setUseIterationListData(TRUE);
     } else {
         if ($resetList) {
             $dataBackend->resetListDataCache();
         }
         $list->setListData($dataBackend->getListData());
     }
     $list->setAggregateListData(self::buildAggregateListData($dataBackend, $configurationBuilder));
     return $list;
 }
 /**
  * @return Tx_PtExtlist_Domain_Model_List_IterationListDataInterface
  */
 public function getIterationListData()
 {
     $rendererChainConfiguration = $this->configurationBuilder->buildRendererChainConfiguration();
     $rendererChain = $this->rendererChainFactory->getRendererChain($rendererChainConfiguration);
     $sqlQuery = $this->buildQuery();
     $dataSource = clone $this->dataSource;
     $dataSource->executeQuery($sqlQuery);
     if (TYPO3_DLOG) {
         \TYPO3\CMS\Core\Utility\GeneralUtility::devLog($this->listIdentifier . '->listDataSelect / IterationListData', 'pt_extlist', 1, array('executionTime' => $dataSource->getLastQueryExecutionTime(), 'query' => $sqlQuery));
     }
     $iterationListData = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('Tx_PtExtlist_Domain_Model_List_IterationListData');
     /** @var $iterationListData Tx_PtExtlist_Domain_Model_List_IterationListData */
     $iterationListData->_injectDataSource($dataSource);
     $iterationListData->_injectDataMapper($this->dataMapper);
     $iterationListData->_injectRenderChain($rendererChain);
     return $iterationListData;
 }
 /**
  * Initializes controller
  */
 public function initializeAction()
 {
     parent::initializeAction();
     $this->rendererChain = $this->rendererChainFactory->getRendererChain($this->configurationBuilder->buildRendererChainConfiguration());
 }
 /**
  * Returns renderer chain
  *
  * @return Tx_PtExtlist_Domain_Renderer_RendererChain
  */
 public function getRendererChain()
 {
     if ($this->rendererChain === null) {
         $this->rendererChain = $this->rendererChainFactory->getRendererChain($this->dataBackend->getConfigurationBuilder()->buildRendererChainConfiguration());
     }
     return $this->rendererChain;
 }