Commit Graph

202 Commits

Author SHA1 Message Date
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
00d0fa8d43 Merge branch 'schema-parser-ref-support-rewrite' 2016-03-30 18:51:32 +11: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
747ca4afd1 Update README with information about JSON Reference support 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
a5649408a0 Enable 'ref' tests from JSON Schema Test Suite 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
807a3c670a Replace LICENSE file with correct version of BSD license (as referenced in README) 2016-03-11 07:50:20 +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
ee2d24714a Merge branch 'refactor-memory-management' 2016-02-04 16:50:44 -08:00
Tristan Penman
03749c0498 Add details about updated memory management scheme to README 2016-02-04 16:49:02 -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
a816284bc3 Remove unnecessary reference to SchemaParser in custom_schema example 2016-02-02 22:00:03 -08:00
Tristan Penman
68664a5781 Fix example in README file 2016-02-02 15:06:17 -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
b44826434b Enable signed/unsigned comparison warnings in Xcode project 2016-02-02 15:06:17 -08:00
Tristan Penman
661fa1f6d6 Fix signed/unsigned comparisons in tests 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
0d028fb188 Upgrade rapidjson from version 0.1 to version 1.0.2 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