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; }