Skip to content
Francis Galiegue edited this page Apr 14, 2014 · 25 revisions

Notes

Ideas thrown in the wild. Not necessarily in order.

For 1.2.x

Simplify pre-validation processing when possible (ABANDONED)

Some schemas don't have JSON References. Some schemas can be fully validated before instance validation.

Account for these, simplify pre-validation. Can gain a LOT of time in some scenarios.

Generalize use of msg-simple (DONE)

Using enums is a pain, and not extensible. Allow for extensibility as well (this one should be easy).

Move JSON Patch and JSON Pointer out of this package (DONE)

Both are in -core for now, but can be used by other packages.

Schema loading rework (PARTIALLY DONE)

Implement the following:

  • full path redirects (DONE);
  • "closed" schema repositories (ABANDONED).

Also, make schema loading into a processor.

Get rid of ProcessingError (DONE)

All unchecked exceptions are now gone; only this one remains. Where it is left, replace with a plain, simple RuntimeException.

Draft v4 Hyperschema validation support (DONE)

Use uri-template now that it is written and functional.

Make schema walking worth it; what about instance walking? (ABANDONED)

Schema walking is tested, fine; but it is not really put to use.

Also, what about the ability to walk instances? What use would there be?

Dependency injection (ABANDONED)

The chain of builders to generate configurations etc is quite long. See if dependency injection can simplify matters somewhat.

For this, the best plan would be to migrate all core types to this package from -validator. Right now, only -validator has the ability to build a full validation processor because only it has, for instance, Keyword.

Future plans

Some of these may, or may not, make it in 1.2.x.

Write examples

Not easy to think of "useful" examples for such a generic library...

Combining outputs into a new input

Right now, this is done by hand. Scenario:

  • processor p1 has output O1;
  • processor p2 has output O2;
  • processor p has an input consisting of a combination of O1 and O2.

Find a generic way to allow such combinations. Find a generic way to "wait for" p1 and p2 before invoking p.

Draft v3 hyperschema validation support?

Very complicated. And probably not worth it.

Line number in error messages when validating?

Feature request opened on json-schema-validator. Heh, why not! But it is going to be quite complicated...