Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (c) 2014, Francis Galiegue (fgaliegue@gmail.com)
  *
  * This software is dual-licensed under:
  *
  * - the Lesser General Public License (LGPL) version 3.0 or, at your option, any
  *   later version;
  * - the Apache Software License (ASL) version 2.0.
  *
 * The text of both licenses is available under the src/resources/ directory of
 * this project (under the names LGPL-3.0.txt and ASL-2.0.txt respectively).
 *
 * Direct link to the sources:
 *
 * - LGPL 3.0: https://www.gnu.org/licenses/lgpl-3.0.txt
 * - ASL 2.0: http://www.apache.org/licenses/LICENSE-2.0.txt
 */
package com.github.fge.jsonschema.examples;
Second example: inline schema addressing

link to source code

This example uses the same schema with one difference: the mntent subschema is now referenced via inline addressing using an id.

The schema used for validation is here.

In order to use inline schema addressing, we cannot use the default factory: we must go through a com.github.fge.jsonschema.main.JsonSchemaFactoryBuilder and use a modified com.github.fge.jsonschema.core.load.configuration.LoadingConfiguration to tell that we want to use inline dereferencing.

Apart from these, the files used for validation and validation results are the same as Example1.

public final class Example2
    public static void main(final String... args)
        throws IOExceptionProcessingException
    {
        final JsonNode fstabSchema = Utils.loadResource("/fstab-inline.json");
        final JsonNode good = Utils.loadResource("/fstab-good.json");
        final JsonNode bad = Utils.loadResource("/fstab-bad.json");
        final JsonNode bad2 = Utils.loadResource("/fstab-bad2.json");
        final LoadingConfiguration cfg = LoadingConfiguration.newBuilder()
            .dereferencing(.).freeze();
        final JsonSchemaFactory factory = JsonSchemaFactory.newBuilder()
            .setLoadingConfiguration(cfg).freeze();
        final JsonSchema schema = factory.getJsonSchema(fstabSchema);
        ProcessingReport report;
        report = schema.validate(good);
        ..println(report);
        report = schema.validate(bad);
        ..println(report);
        report = schema.validate(bad2);
        ..println(report);
    }
New to GrepCode? Check out our FAQ X