/** * * @param string $identifier aggregate identifier * @param array $aggregateSettings * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @throws Exception */ public function __construct($identifier, $aggregateSettings, Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { Tx_PtExtbase_Assertions_Assert::isNotEmptyString($identifier, array('message' => 'No aggregate identifier specified. 1282891490')); $this->identifier = $identifier; if (!trim($aggregateSettings['fieldIdentifier'])) { throw new Exception('No fieldIdentifier for aggregate given! 1282891630'); } $this->fieldIdentifier = $configurationBuilder->buildFieldsConfiguration()->getFieldConfigByIdentifier($aggregateSettings['fieldIdentifier']); if (!array_key_exists('method', $aggregateSettings) && !array_key_exists('special', $aggregateSettings)) { throw new Exception('No aggregate method or special sql given for aggregate ' . $this->identifier . '! 1282891831'); } if (array_key_exists('method', $aggregateSettings)) { $this->method = trim($aggregateSettings['method']); } if (array_key_exists('scope', $aggregateSettings)) { $this->scope = $aggregateSettings['scope']; } if (array_key_exists('special', $aggregateSettings)) { $this->special = $aggregateSettings['special']; $this->scope = 'query'; } }
/** * Returns an instance of this object for a given session persisted array * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @param array $sessionArray * @return Tx_PtExtlist_Domain_Model_Sorting_SortingState */ public static function getInstanceBySessionArray(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, array $sessionArray) { $field = $configurationBuilder->buildFieldsConfiguration()->getFieldConfigByIdentifier($sessionArray['fieldName']); $direction = $sessionArray['direction']; return new Tx_PtExtlist_Domain_Model_Sorting_SortingState($field, $direction); }
public function testBuildFieldsConfiguration() { $configurationBuilder = new Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder($this->settings, 'test'); $fieldConfigCollection = $configurationBuilder->buildFieldsConfiguration(); $this->assertTrue(is_a($fieldConfigCollection, 'Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfigCollection')); }