@Test public void defaultLibraryIsDraftV4() { final ValidationConfiguration defaultConfiguration = ValidationConfiguration.byDefault(); assertSame(defaultConfiguration.getDefaultLibrary(), DraftV4Library.get()); }
/** * Constructor * * @param cfg the validation configuration to use */ public SyntaxValidator(final ValidationConfiguration cfg) { final MessageBundle syntaxMessages = cfg.getSyntaxMessages(); final ProcessorMap<JsonRef, ValueHolder<SchemaTree>, ValueHolder<SchemaTree>> map = new ProcessorMap<JsonRef, ValueHolder<SchemaTree>, ValueHolder<SchemaTree>>(FUNCTION); Dictionary<SyntaxChecker> dict; dict = cfg.getDefaultLibrary().getSyntaxCheckers(); final SyntaxProcessor byDefault = new SyntaxProcessor( cfg.getSyntaxMessages(), dict); map.setDefaultProcessor(byDefault); final Map<JsonRef,Library> libraries = cfg.getLibraries(); JsonRef ref; SyntaxProcessor syntaxProcessor; for (final Map.Entry<JsonRef, Library> entry: libraries.entrySet()) { ref = entry.getKey(); dict = entry.getValue().getSyntaxCheckers(); syntaxProcessor = new SyntaxProcessor(syntaxMessages, dict); map.addEntry(ref, syntaxProcessor); } processor = map.getProcessor(); }
private Processor<SchemaContext, ValidatorList> buildProcessor() { final RefResolver resolver = new RefResolver(loader); final Map<JsonRef, Library> libraries = validationCfg.getLibraries(); final Library defaultLibrary = validationCfg.getDefaultLibrary(); final ValidationChain defaultChain = new ValidationChain(resolver, defaultLibrary, validationCfg); final ProcessorMap<JsonRef, SchemaContext, ValidatorList> map = new ProcessorMap<JsonRef, SchemaContext, ValidatorList>(FUNCTION); map.setDefaultProcessor(defaultChain); JsonRef ref; ValidationChain chain; for (final Map.Entry<JsonRef, Library> entry: libraries.entrySet()) { ref = entry.getKey(); chain = new ValidationChain(resolver, entry.getValue(), validationCfg); map.addEntry(ref, chain); } final Processor<SchemaContext, ValidatorList> processor = map.getProcessor(); return new CachingProcessor<SchemaContext, ValidatorList>(processor, SchemaContextEquivalence.getInstance(), validationCfg.getCacheSize()); } }
@Test public void defaultLibraryIsAccountedFor() { final String ref = "x://y.z/schema#"; final Library library = Library.newBuilder().freeze(); cfg.setDefaultLibrary(ref, library); assertSame(cfg.freeze().getDefaultLibrary(), library); } }