This class represents differences between two Schemas
This class represents differences between two Schemas
Nothing except added is used now
list of properties sorted by their appearance in JSON Schemas
list of properties changed in target Schema; if some property was added in successive Schema and modified after that, it should appear in added
set of keys removed in target Schema
Build ValidMigrationMap, a map of source Schema to it's migrations, where all source Schemas belong to a single model-revision Schema criterion
Build ValidMigrationMap, a map of source Schema to it's migrations, where all source Schemas belong to a single model-revision Schema criterion
source Schemas belong to a single model-revision criterion
migration map of each Schema to list of all available migrations
Build migration from a sourceSchema
to the last schema in list of successiveSchemas
This method requires all intermediate schemas because we need to keep an order of properties
Build migration from a sourceSchema
to the last schema in list of successiveSchemas
This method requires all intermediate schemas because we need to keep an order of properties
schema from which we need to generate migration
list of schemas, though which we need to generate migration, with destination in the end of list
migraion object with data about source, target and diff
Map all Schemas (sources) to all its targets through all its migration path Then build all migrations of sources to targets through its migration path
Map all Schemas (sources) to all its targets through all its migration path Then build all migrations of sources to targets through its migration path
list of found Schemas, probably with different names, models and revisions
migration map of each Schema to list of all available migrations
Generate diff from source list of properties to target though sequence of intermediate
Generate diff from source list of properties to target though sequence of intermediate
source list of JSON Schema properties
non-empty list of successive JSON Schema properties including target
diff between two Schmea
Map schemas by their Schema Criterion m-r-* If any field except ADDITION differs, two schemas are unrelated Examples: com.acme/event/1-0-* -> 1-0-0, 1-0-1, 1-0-2 com.acme/config/1-0-* -> 1-0-0, 1-0-1, 1-0-2 com.acme/config/1-1-* -> 1-1-0, 1-1-1
Map schemas by their Schema Criterion m-r-* If any field except ADDITION differs, two schemas are unrelated Examples: com.acme/event/1-0-* -> 1-0-0, 1-0-1, 1-0-2 com.acme/config/1-0-* -> 1-0-0, 1-0-1, 1-0-2 com.acme/config/1-1-* -> 1-1-0, 1-1-1
list of schemas to be distincted
map of schemas grouped by their common REVISION
Get list of new properties in order they appear in subsequent Schemas
Get list of new properties in order they appear in subsequent Schemas
original Schema
all subsequent Schemas
possibly empty list of keys in correct order
Get list of JSON Schema properties modified between two versions
Get list of JSON Schema properties modified between two versions
original list of JSON Schema properties
final list of JSON Schema properties
keys to be excluded from this diff, added properties should be included in SchemaDiff separately
list of properties changed in target Schema
Get ordering for subsequent properties This will not include columns from 1-0-0, but only added in subsequent Schema additions
Get ordering for subsequent properties This will not include columns from 1-0-0, but only added in subsequent Schema additions
map of each Schema to list of all available migrations
map of revision criterion to list with all added columns
Get submap by keys
Get submap by keys
ordered list of submap keys
original Map
sorted Map of new properties
Return list of non-empty initial segments of sequence [1,2,3,4] -> [1,2,3], [1,2], [1
Return list of non-empty initial segments of sequence [1,2,3,4] -> [1,2,3], [1,2], [1
original sequence
list of non-empty initial segments ordered by descendence
Map each single Schema to List of subsequent Schemas 1-0-0 -> [1-0-1, 1-0-2], [1-0-1, 1-0-2, 1-0-3 1-0-1 -> [1-0-2, 1-0-3 1-0-2 -> 1-0-3
Map each single Schema to List of subsequent Schemas 1-0-0 -> [1-0-1, 1-0-2], [1-0-1, 1-0-2, 1-0-3 1-0-1 -> [1-0-2, 1-0-3 1-0-2 -> 1-0-3
list of self-describing schemas
list of pairs of schema and its targets