Skip to content

Commit 22e45e6

Browse files
authored
Merge pull request #25 from thewilkybarkid/cache-resolver
Use same RefResolver
2 parents c0696e3 + 16d05c9 commit 22e45e6

File tree

1 file changed

+5
-16
lines changed

1 file changed

+5
-16
lines changed

src/JsonValidator.php

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
use JsonSchema\Exception\InvalidArgumentException;
1515
use JsonSchema\Exception\ResourceNotFoundException;
1616
use JsonSchema\RefResolver;
17-
use JsonSchema\Uri\Retrievers\UriRetrieverInterface;
1817
use JsonSchema\Uri\UriResolver;
1918
use JsonSchema\Uri\UriRetriever;
2019
use JsonSchema\UriResolverInterface;
@@ -49,18 +48,11 @@ class JsonValidator
4948
private $validator;
5049

5150
/**
52-
* URI retriever for fetching JSON schemas.
51+
* Reference resolver.
5352
*
54-
* @var UriRetrieverInterface
53+
* @var RefResolver
5554
*/
56-
private $uriRetriever;
57-
58-
/**
59-
* URI resolver for JSON schemas.
60-
*
61-
* @var UriResolverInterface
62-
*/
63-
private $uriResolver;
55+
private $resolver;
6456

6557
/**
6658
* JsonValidator constructor.
@@ -74,8 +66,7 @@ class JsonValidator
7466
public function __construct(Validator $validator = null, UriRetriever $uriRetriever = null, UriResolverInterface $uriResolver = null)
7567
{
7668
$this->validator = $validator ?: new Validator();
77-
$this->uriRetriever = $uriRetriever ?: new UriRetriever();
78-
$this->uriResolver = $uriResolver ?: new UriResolver();
69+
$this->resolver = new RefResolver($uriRetriever ?: new UriRetriever(), $uriResolver ?: new UriResolver());
7970
}
8071

8172
/**
@@ -170,10 +161,8 @@ private function loadSchema($file)
170161
}
171162

172163
// Resolve references to other schemas
173-
$resolver = new RefResolver($this->uriRetriever, $this->uriResolver);
174-
175164
try {
176-
$schema = $resolver->resolve($file);
165+
$schema = $this->resolver->resolve($file);
177166
} catch (ResourceNotFoundException $e) {
178167
throw new InvalidSchemaException(sprintf(
179168
'The schema %s does not exist.',

0 commit comments

Comments
 (0)