Ejemplo n.º 1
0
 public static function validateArchiveListJson($archiveListJson)
 {
     if (!self::$retriever) {
         self::$retriever = new UriRetriever();
     }
     if (!self::$schemaUri) {
         self::$schemaUri = 'file://' . realpath(__DIR__ . '/archive-schema.json');
     }
     $uri = self::$schemaUri;
     $schema = self::$retriever->retrieve($uri);
     $validator = new Validator();
     // have to do a encode+decode so that json objects decoded as arrays from Guzzle
     // are re-encoded as objects instead
     $validator->check(json_decode(json_encode($archiveListJson)), $schema);
     if (!$validator->isValid()) {
         $errors = "";
         foreach ($validator->getErrors() as $error) {
             $errors .= '[' . $error['property'] . '] ' . $error['message'] . "\n";
         }
         throw new InvalidArgumentException('The archiveListJson provided is not valid. Errors:' . $errors . ' archiveListJson:' . print_r($archiveListJson, true));
     }
 }
Ejemplo n.º 2
0
 public static function validateArchiveListData($archiveListData)
 {
     if (!self::$schemaUri) {
         self::$schemaUri = __DIR__ . '/archive-schema.json';
     }
     $document = new Document();
     // have to do a encode+decode so that json objects decoded as arrays from Guzzle
     // are re-encoded as objects instead
     $document->loadData(json_decode(json_encode($archiveListData)));
     $document->loadSchema(self::$schemaUri);
     if (!$document->validate()) {
         throw new InvalidArgumentException('The archive data provided is not valid. Errors:' . $document->lastError . ' archiveData:' . print_r($archiveData, true));
     }
 }