/** @test */
 public function translateCriteriaThrowsExceptionOnWrongCriteriaType()
 {
     $criteria = new Tx_PtExtlist_Domain_QueryObject_NotCriteria(new Tx_PtExtlist_Domain_QueryObject_SimpleCriteria('field', 'value', '='));
     $query = $this->getMock('\\TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Query', array(), array(), '', FALSE);
     try {
         Tx_PtExtlist_Domain_DataBackend_ExtBaseDataBackend_ExtBaseInterpreter_OrCriteriaTranslator::translateCriteria($criteria, $query, $this->repositoryMock);
     } catch (Exception $e) {
         return;
     }
     $this->fail('No exception has been thrown on trying to translate wrong criteria class!');
 }
Ejemplo n.º 2
0
 /**
  * Translates given criteria and adds it to extbase query criterias
  *
  * @param Tx_PtExtlist_Domain_QueryObject_Criteria $criteria
  * @param \TYPO3\CMS\Extbase\Persistence\Generic\Query $extbaseQuery
  * @param \TYPO3\CMS\Extbase\Persistence\Repository $repository
  * @throws Exception
  * @return \TYPO3\CMS\Extbase\Persistence\Generic\Query
  */
 public static function setCriteriaOnExtBaseQueryByCriteria(Tx_PtExtlist_Domain_QueryObject_Criteria $criteria, \TYPO3\CMS\Extbase\Persistence\Generic\Query $extbaseQuery, \TYPO3\CMS\Extbase\Persistence\Repository $repository)
 {
     $criteriaClass = get_class($criteria);
     switch ($criteriaClass) {
         case 'Tx_PtExtlist_Domain_QueryObject_SimpleCriteria':
             $extbaseQuery = Tx_PtExtlist_Domain_DataBackend_ExtBaseDataBackend_ExtBaseInterpreter_SimpleCriteriaTranslator::translateCriteria($criteria, $extbaseQuery, $repository);
             break;
         case 'Tx_PtExtlist_Domain_QueryObject_AndCriteria':
             $extbaseQuery = Tx_PtExtlist_Domain_DataBackend_ExtBaseDataBackend_ExtBaseInterpreter_AndCriteriaTranslator::translateCriteria($criteria, $extbaseQuery, $repository);
             break;
         case 'Tx_PtExtlist_Domain_QueryObject_OrCriteria':
             $extbaseQuery = Tx_PtExtlist_Domain_DataBackend_ExtBaseDataBackend_ExtBaseInterpreter_OrCriteriaTranslator::translateCriteria($criteria, $extbaseQuery, $repository);
             break;
         case 'Tx_PtExtlist_Domain_QueryObject_NotCriteria':
             $extbaseQuery = Tx_PtExtlist_Domain_DataBackend_ExtBaseDataBackend_ExtBaseInterpreter_NotCriteriaTranslator::translateCriteria($criteria, $extbaseQuery, $repository);
             break;
         default:
             throw new Exception('Unkown criteria type ' . $criteriaClass . ' 1299224408');
             break;
     }
     return $extbaseQuery;
 }