/**
  * Create a dataprovider for options filter data
  * 
  * @param Tx_PtExtlist_Domain_Configuration_Filters_FilterConfig $filterConfig
  * @return Tx_PtExtlist_Domain_Model_Filter_DataProvider_DataProviderInterface
  */
 public function createInstance(Tx_PtExtlist_Domain_Configuration_Filters_FilterConfig $filterConfig)
 {
     $dataProviderClassName = $this->determineDataProviderClass($filterConfig);
     $dataProvider = $this->objectManager->get($dataProviderClassName);
     Tx_PtExtbase_Assertions_Assert::isInstanceOf($dataProvider, 'Tx_PtExtlist_Domain_Model_Filter_DataProvider_DataProviderInterface', array('message' => 'The Dataprovider "' . $dataProviderClassName . ' does not implement the required interface! 1283536125'));
     /* @var $dataProvider Tx_PtExtlist_Domain_Model_Filter_DataProvider_DataProviderInterface */
     $dataProvider->_injectFilterConfig($filterConfig);
     $dataProvider->_injectDataBackend($this->dataBackendFactory->getDataBackendInstanceByListIdentifier($filterConfig->getListIdentifier()));
     $dataProvider->init();
     return $dataProvider;
 }
 /**
  * Creates an instance of a filter for a given configuration
  *
  * @param Tx_PtExtlist_Domain_Configuration_Filters_FilterConfig $filterConfig
  * @return Tx_PtExtlist_Domain_Model_Filter_FilterInterface
  */
 public function createInstance(Tx_PtExtlist_Domain_Configuration_Filters_FilterConfig $filterConfig)
 {
     $filter = $this->createFilterObject($filterConfig->getFilterClassName());
     /* @var $filter Tx_PtExtlist_Domain_Model_Filter_FilterInterface */
     $filter->_injectFilterConfig($filterConfig);
     $sessionPersistenceManager = $this->sessionPersistenceManagerBuilder->getInstance();
     // TODO check whether filter interface should extend session persistable interface
     $sessionPersistenceManager->registerObjectAndLoadFromSession($filter);
     $filter->_injectDataBackend($this->dataBackendFactory->getDataBackendInstanceByListIdentifier($filterConfig->getListIdentifier()));
     $filter->init();
     return $filter;
 }
 /**
  * @return void
  */
 public function initializeAction()
 {
     parent::initializeAction();
     $this->initFeUser();
     $this->initListIdentifier();
     $this->buildConfigurationBuilder();
     $this->buildAndInitSessionPersistenceManager();
     $this->resetSessionOnResetParameter();
     $this->resetOnEmptySubmit();
     $this->dataBackend = $this->dataBackendFactory->getDataBackendInstanceByListIdentifier($this->listIdentifier);
 }
 /**
  * Create new data backend object for given configuration
  *
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @param boolean $resetDataBackend
  * @return Tx_PtExtlist_Domain_DataBackend_AbstractDataBackend
  * @deprecated Use non-static method getDataBackendInstanceByListIdentifier() instead!
  */
 public static function createDataBackend(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, $resetDataBackend = FALSE)
 {
     self::createStaticInstance();
     return self::$dataBackendFactoryInstance->getDataBackendInstanceByListIdentifier($configurationBuilder->getListIdentifier(), $resetDataBackend);
 }