Open Data Catalog v2.0.0
ProperJsonValidator.php
Go to the documentation of this file.
1 <?php
2 
4 
5 use Symfony\Component\Validator\Constraint;
6 use Symfony\Component\Validator\ConstraintValidator;
7 
11 class ProperJsonValidator extends ConstraintValidator {
12 
18  public function validate($items, Constraint $constraint) {
19  foreach ($items as $item) {
20  $info = $this->isProper($item->value);
21  if (!$info['valid']) {
22  $this->addViolations($info['errors']);
23  }
24  }
25  }
26 
33  protected function isProper($value) {
34  // @codeCoverageIgnoreStart
35  /* @var $saeFactory SaeFactory */
36  $saeFactory = \Drupal::service("dkan_metastore.sae_factory");
37 
38  /* @var $engine Sae */
39  $engine = $saeFactory->getInstance('dataset');
40 
41  return $engine->validate($value);
42  // @codeCoverageIgnoreEnd
43  }
44 
48  private function addViolations($errors) {
49  foreach ($errors as $error) {
50  $this->context->addViolation($error['message']);
51  }
52  }
53 
54 }
Drupal\dkan_data\Plugin\Validation\Constraint\ProperJsonValidator\validate
validate($items, Constraint $constraint)
Definition: ProperJsonValidator.php:18
Drupal\dkan_data\Plugin\Validation\Constraint
Definition: ProperJson.php:3
Drupal\dkan_data\Plugin\Validation\Constraint\ProperJsonValidator\isProper
isProper($value)
Definition: ProperJsonValidator.php:33
Drupal\dkan_data\Plugin\Validation\Constraint\ProperJsonValidator
Definition: ProperJsonValidator.php:11