Ejemplo n.º 1
0
 /**
  * 
  * @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';
     }
 }
Ejemplo n.º 2
0
 /**
  * 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'));
 }