コード例 #1
0
 /**
  * @param ConstraintViolationListInterface|null $violations
  * @param array                                 $item
  * @param array                                 $messageParameters
  * @param int                                   $code
  * @param \Exception|null                       $previous
  */
 public function __construct(ConstraintViolationListInterface $violations, InvalidItemInterface $item, array $messageParameters = [], $code = 0, \Exception $previous = null)
 {
     $this->violations = $violations;
     $errors = [];
     /** @var ConstraintViolationInterface $violation */
     foreach ($violations as $violation) {
         // TODO: re-format the message, property path doesn't exist for class constraint
         // TODO: for instance cf VariantGroupAxis
         $invalidValue = $violation->getInvalidValue();
         if ($invalidValue instanceof ProductPriceInterface) {
             $invalidValue = sprintf('%s %s', $invalidValue->getData(), $invalidValue->getCurrency());
         } elseif (is_object($invalidValue) && method_exists($invalidValue, '__toString')) {
             $invalidValue = (string) $invalidValue;
         } elseif (is_object($invalidValue)) {
             $invalidValue = get_class($invalidValue);
         } elseif (is_array($invalidValue)) {
             $invalidValue = implode(', ', $invalidValue);
         }
         $errors[] = sprintf("%s: %s: %s\n", $violation->getPropertyPath(), $violation->getMessage(), $invalidValue);
     }
     parent::__construct(implode("\n", $errors), $item, $messageParameters, $code, $previous);
 }
コード例 #2
0
 /**
  * Handle step execution warning
  *
  * @param StepExecution        $stepExecution
  * @param mixed                $element
  * @param InvalidItemException $e
  */
 protected function handleStepExecutionWarning(StepExecution $stepExecution, $element, InvalidItemException $e)
 {
     if ($element instanceof AbstractConfigurableStepElement) {
         $warningName = $element->getName();
     } else {
         $warningName = get_class($element);
     }
     $stepExecution->addWarning($warningName, $e->getMessage(), $e->getMessageParameters(), $e->getItem());
     $this->dispatchInvalidItemEvent(get_class($element), $e->getMessage(), $e->getMessageParameters(), $e->getItem());
 }
コード例 #3
0
 /**
  * Constructor
  *
  * @param string $code
  * @param string $value
  * @param array  $item
  */
 public function __construct($code, $value, array $item)
 {
     $this->messageParameters = ['%code%' => $code, '%value%' => $value];
     $exception = new ParametrizedException($this->messageTemplate, $this->messageParameters);
     parent::__construct($exception->getMessage(), $item, $this->messageParameters);
 }
コード例 #4
0
 /**
  * Constructor
  *
  * @param array                $fixtureConfig
  * @param InvalidItemException $previous
  */
 public function __construct(array $fixtureConfig, InvalidItemException $previous)
 {
     $message = sprintf("%s\n%s", $previous->getMessage(), Yaml::dump(['fixture' => $fixtureConfig, 'item' => $previous->getItem()], 2));
     parent::__construct($message);
 }
コード例 #5
0
ファイル: ItemStep.php プロジェクト: akeneo/batch
 /**
  * Handle step execution warning
  *
  * @param StepExecution        $stepExecution
  * @param mixed                $element
  * @param InvalidItemException $e
  */
 protected function handleStepExecutionWarning(StepExecution $stepExecution, $element, InvalidItemException $e)
 {
     $stepExecution->addWarning($e->getMessage(), $e->getMessageParameters(), $e->getItem());
     $this->dispatchInvalidItemEvent(get_class($element), $e->getMessage(), $e->getMessageParameters(), $e->getItem());
 }
コード例 #6
0
 /**
  * Constructor
  *
  * @param string $identifier
  * @param array  $item
  */
 public function __construct($identifier, array $item)
 {
     $messageParameters = ['%identifier%' => $identifier];
     $exception = new ParametrizedException($this->messageTemplate, $messageParameters);
     parent::__construct($exception->getMessage(), $item, $messageParameters);
 }