Tristan Penman
9ad441dfbe
Remove potentially risky overloads of addConstraint function and make existing impl more exception safe
2016-04-08 08:22:32 +10:00
James Jensen
94cd71fe09
Allow subclassing ValidationResults.
...
I use this because our Path constraint needs information global to the current validator(the root of the document).
The natural place for this would be in a subclass of Validator, but by the time we are in the validation visitor we don't have access to that.
I prefer not to use a global because that would introduce threading issues. That leaves putting the state in the results.
2016-04-07 11:49:57 -04:00
James Jensen
acffebd74e
Add ConstraintBuilder, allowing the user to add constraints to the json schema language
2016-04-07 11:40:11 -04:00
James Jensen
f3eb9edb7b
fix some more -wall warnings.
2016-04-07 11:40:10 -04:00
James Jensen
ade9662e1f
make cloneInto private, because calling it with the wrong size allocation would be bad.
2016-04-07 11:36:39 -04:00
Tristan Penman
e66413e97f
Alphabetise class names
2016-04-07 09:56:57 +10:00
Tristan Penman
32e89abcda
Remove potentially risky overloads of addConstraintToSubschema function
2016-04-07 09:56:24 +10:00
Tristan Penman
99e870ca5d
Flesh out API for PolyConstraint concept, simplify test cases and add new files to Xcode project
2016-04-07 09:55:13 +10:00
James Jensen
8f446704f7
Add polymorphic constraint, and modifications neccessary for using them
...
Modify CMakeLists.txt to make third party include files be included by -isystem. This reduces external warnings/errors.
Add a unit test for the PolyConstraints. The test doesn't pass, because the right method for inserting a constraint isn't clear to me.
Add Authors file for tracking modifications
Add Akamai to the License file.
2016-04-06 16:20:39 -04:00
Tristan Penman
e2a011edc0
Fix errors introduced during rebase
2016-03-20 14:10:07 +11:00
Tristan Penman
9f94ad5883
Update doxygen comment for SchemaParser::makeOrReuseSchema, and wrap several lines of code to match coding style
2016-03-20 14:10:06 +11:00
Tristan Penman
c81403df80
Fix handling of schema scope (based on 'id' attribute) and enable refRemote tests
2016-03-20 14:10:06 +11:00
Tristan Penman
193c58da02
Update document fetch interface to use underlying document type rather than Adapter
2016-03-20 14:10:06 +11:00
Tristan Penman
bee57e1f90
Update SchemaParser to fully support schema caching
2016-03-20 14:10:06 +11:00
Tristan Penman
bc14ef8064
Split makeOrReuseSchema function in SchemaParser class to allow JSON Reference chains to be cached
2016-03-20 14:10:06 +11:00
Tristan Penman
8796b563fe
Update SchemaParser so that constraints will be able to re-use existing subschemas in schema cache
2016-03-20 14:10:06 +11:00
Tristan Penman
a74ce3fb2c
Add helper function to SchemaParser to sanitise JSON Pointers (and ensure that they have consistent endings)
2016-03-20 14:10:06 +11:00
Tristan Penman
39da77d17e
Add helper function to SchemaParser to handle extraction of JSON References
2016-03-20 14:10:06 +11:00
Tristan Penman
7f4db481c7
Remove shared_ptrs from fetch document interface, and add a 'free' callback that is used to release memory after parsing
2016-03-20 14:10:06 +11:00
Tristan Penman
348ba26596
Add placeholder data structures to SchemaParser class to eventually support document/schema caches
2016-03-20 14:10:06 +11:00
Tristan Penman
c4d0c063c7
Merge branch 'jhjensen-warnfix'
2016-03-03 08:34:01 +11:00
Tristan Penman
1ade1c55ef
Ensure validation of 'properties' constraint resumes after failure if validation results are being collected
2016-03-03 08:15:36 +11:00
Tristan Penman
85ea0d581d
Add missing spaces to validation error messages
2016-03-03 08:14:30 +11:00
James Jensen
910b0da48e
fix warning-errors exposed by -Wall -Werror in gcc4.9
...
it doesn't like unused variables, misordered initializers, and comparing signed with unsigned.
2016-03-01 11:39:23 -05:00
Tristan Penman
e9b50162bf
Ensure validation state is not discarded after checking for an 'additionalProperties' constraint
2016-02-17 08:47:13 -08:00
Tristan Penman
b241b37d7a
Ensure empty arrays are handled correctly for uniqueItems constraint
2016-02-17 08:38:42 -08:00
Tristan Penman
70f066b3f9
Only enable clang-specific pragmas when clang is actually being used
2016-02-02 22:21:08 -08:00
Tristan Penman
5085804d80
Minor variation in spelling of warning to be ignored
2016-02-02 22:15:16 -08:00
Tristan Penman
c3da89bbd7
Try ignoring -Wunused-local-typedef from within schema_parser.hpp file
2016-02-02 22:07:46 -08:00
Tristan Penman
282fbd0c7b
Add missing #includes to util headers
2016-02-02 15:06:17 -08:00
Tristan Penman
171820d1fe
Fix inconsistencies in error messages for cardinality/length constraints in SchemaParser
2016-02-02 15:06:17 -08:00
Tristan Penman
f039e269dc
Fix signed/unsigned comparison in json_pointer namespace
2016-02-02 15:06:17 -08:00
Tristan Penman
a92f8bf60a
Update various cardinality and length constraints to use unsigned integer types
2016-02-02 15:06:17 -08:00
Tristan Penman
f2eed08cab
Add compiler flags for -Wall and -Werror to Xcode project files and CMake configuration
2016-02-02 15:06:17 -08:00
Tristan Penman
6c8907ce5f
Remove unused forward declaration of FormatConstraint struct
2016-02-02 15:06:17 -08:00
Tristan Penman
0f81f72a26
Add range check to MaxItemsConstraint and MaxLengthConstraint classes
2016-02-02 15:06:17 -08:00
Tristan Penman
2bcaaac344
Improve encapsulation in MinPropertiesConstraint and MaxPropertiesConstraint classes
2016-02-02 15:06:16 -08:00
Tristan Penman
8f4dbc63c9
Fix inconsistencies in Doxygen comments
2016-02-02 15:06:16 -08:00
Tristan Penman
7aa0ccb468
Split MultipleOfConstraint into separate classes for integers and doubles, with improved encapsulation
2016-02-02 15:06:16 -08:00
Tristan Penman
14e31be16d
Improve encapsulation in MinLengthConstraint and MaxLengthConstraint classes
2016-02-02 15:06:16 -08:00
Tristan Penman
31c0fce2b3
Improve encapsulation in MinItemsConstraint and MaxItemsConstraint classes
2016-02-02 15:06:16 -08:00
Tristan Penman
4d0d38566c
Improve encapsulation in MinimumConstraint class
2016-02-02 15:06:16 -08:00
Tristan Penman
65e2c662cc
Improve encapsulation in MaximumConstraint class
2016-02-02 15:06:16 -08:00
Tristan Penman
38c540a5d0
Fix memory leak in EnumConstraint
2016-02-02 15:06:16 -08:00
Tristan Penman
b71de6dec0
Update PropertiesConstraint class to use custom allocator, with better encapsulation
2016-02-02 15:06:16 -08:00
Tristan Penman
23ff06541e
Make argument names and ordering more consistent across validation functors
2016-02-02 15:06:16 -08:00
Tristan Penman
f779b0780c
Update EnumConstraint to use custom allocator for collection (but not frozen values)
2016-02-02 15:06:16 -08:00
Tristan Penman
99a5c2f604
Update NotConstraint to use custom allocator, with better encapsulation
2016-02-02 15:06:16 -08:00
Tristan Penman
05ba5bf711
Update RequiredConstraint to use custom allocator, with better encapsulation
2016-02-02 15:06:16 -08:00
Tristan Penman
a0e1a2f74a
Add custom allocator constructor to UniqueItemConstraint
2016-02-02 15:06:15 -08:00