public function testAddGetCorrectItems()
 {
     $aggregateConfigCollection = new Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfigCollection();
     $aggregateConfigCollection->addAggregateConfig(new Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfig('agg1', $this->aggregateSettings['agg1'], $this->configurationBuilderMock));
     $aggregateConfigCollection->addAggregateConfig(new Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfig('agg2', $this->aggregateSettings['agg2'], $this->configurationBuilderMock));
     $aggregateConfig1 = $aggregateConfigCollection->getAggregateConfigByIdentifier('agg1');
     $this->assertEquals($aggregateConfig1->getIdentifier(), 'agg1');
     $aggregateConfig2 = $aggregateConfigCollection->getAggregateConfigByIdentifier('agg2');
     $this->assertEquals($aggregateConfig2->getIdentifier(), 'agg2');
 }
 /**
  * Builds a collection of aggregate config objects for a given settings array
  *
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  */
 protected static function buildAggregateConfigCollection(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder)
 {
     $aggregateConfigCollection = new Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfigCollection();
     $aggregateSettingsArray = $configurationBuilder->getSettingsForConfigObject('aggregateData');
     foreach ($aggregateSettingsArray as $aggregateIdentifier => $aggregateSettings) {
         $aggregateConfig = new Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfig($aggregateIdentifier, $aggregateSettings, $configurationBuilder);
         $aggregateConfigCollection->addAggregateConfig($aggregateConfig);
     }
     return $aggregateConfigCollection;
 }
 /**
  * Extract the items with the given scope
  * 
  * @param string $scope
  * @return Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfigCollection
  */
 public function extractCollectionByScope($scope)
 {
     $collection = new Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfigCollection();
     foreach ($this->itemsArr as $itemKey => $item) {
         if ($item->getScope() == $scope) {
             $collection->addAggregateConfig($item, $itemKey);
         }
     }
     return $collection;
 }
 /**
  * Get aggregate data for the whole query
  *
  * @param Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfigCollection $aggregateDataConfigCollection
  * @return array
  */
 protected function getAggregatesForQuery(Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfigCollection $aggregateDataConfigCollection)
 {
     if ($aggregateDataConfigCollection->count() > 0) {
         $aggregates = $this->dataBackend->getAggregatesByConfigCollection($aggregateDataConfigCollection);
     }
     if (!is_array($aggregates)) {
         $aggregates = array();
     }
     return $aggregates;
 }