public function getValues()
 {
     $formValues = parent::getValues();
     $modelValues = array();
     foreach ($formValues as $formValue) {
         $expression = new ilAssQuestionSolutionComparisonExpression();
         $expression->setExpression($formValue->getAnswertext());
         $expression->setPoints($formValue->getPoints());
         $expression->setOrderIndex($formValue->getOrder() + 1);
         $modelValues[] = $expression;
     }
     return $modelValues;
 }
 public function add(ilAssQuestionSolutionComparisonExpression $expression)
 {
     $expression->setDb($this->db);
     $expression->setQuestionId($this->getQuestionId());
     $expression->setSkillBaseId($this->getSkillBaseId());
     $expression->setSkillTrefId($this->getSkillTrefId());
     $this->expressions[$expression->getOrderIndex()] = $expression;
 }
 private function validateSolutionCompareExpression(ilAssQuestionSolutionComparisonExpression $expression, iQuestionCondition $question)
 {
     require_once 'Modules/TestQuestionPool/classes/questions/LogicalAnswerCompare/ilAssLacConditionParser.php';
     require_once 'Modules/TestQuestionPool/classes/questions/LogicalAnswerCompare/ilAssLacQuestionProvider.php';
     require_once 'Modules/TestQuestionPool/classes/questions/LogicalAnswerCompare/ilAssLacCompositeValidator.php';
     try {
         $conditionParser = new ilAssLacConditionParser();
         $conditionComposite = $conditionParser->parse($expression->getExpression());
         $questionProvider = new ilAssLacQuestionProvider();
         $questionProvider->setQuestion($question);
         $conditionValidator = new ilAssLacCompositeValidator($questionProvider);
         $conditionValidator->validate($conditionComposite);
     } catch (ilAssLacException $e) {
         if ($e instanceof ilAssLacFormAlertProvider) {
             return $e->getFormAlert($this->lng);
         }
         throw $e;
     }
     return true;
 }