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