-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Schema backwards compatibility #272
Commits on Jul 11, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 277ef1c - Browse repository at this point
Copy the full SHA 277ef1cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 55845f9 - Browse repository at this point
Copy the full SHA 55845f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for c5e9e37 - Browse repository at this point
Copy the full SHA c5e9e37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 49a37d6 - Browse repository at this point
Copy the full SHA 49a37d6View commit details -
First pass at backwards compatibilty for tag class...
This is not meant to be the last word for backwards compatibility. In fact, it's really only the first word. There's a lot more work to be done and more thought to be given to the mechanisms that are required to support this kind of behavior. Also, this particular case isn't even all that critical--it just serves as a potentially useful example.
Configuration menu - View commit details
-
Copy full SHA for 8246d69 - Browse repository at this point
Copy the full SHA 8246d69View commit details
Commits on Jul 12, 2017
-
Configuration menu - View commit details
-
Copy full SHA for ed491b5 - Browse repository at this point
Copy the full SHA ed491b5View commit details -
Add unit test for GCRS frame backwards compatibility...
This was necessary since the obsgeovel and obsgeoloc fields were affected by the schema version change but are not used in Galactocentric frames, so were not previously being tested.
Configuration menu - View commit details
-
Copy full SHA for 604ed9a - Browse repository at this point
Copy the full SHA 604ed9aView commit details -
Add unit test for using tags that are not defined...
ASDF should not fail to read a file, even if the file makes reference to schema tags that are not defined. In these cases, ASDF should simply provide a raw Python object that represents the deserialized object.
Configuration menu - View commit details
-
Copy full SHA for 3d6c272 - Browse repository at this point
Copy the full SHA 3d6c272View commit details -
Add unit test for tag implementation newer than schema read...
This is an important case that is not currently handled properly. Currently if an exact version match is not found for a schema version, the "best match" is used. However, the tag implementation for this "best match" may not be compatible with the given schema version, which will result in an unhandled error. This needs to be handled properly.
Configuration menu - View commit details
-
Copy full SHA for 611ca8d - Browse repository at this point
Copy the full SHA 611ca8dView commit details -
Restore previous logic for warning for schema version mismatch...
This will allow us to isolate the error that is caused when an incompatible tag class is used to implement a mismatched schema version and reflects the correct behavior in the long run.
Configuration menu - View commit details
-
Copy full SHA for a2e370a - Browse repository at this point
Copy the full SHA a2e370aView commit details
Commits on Jul 13, 2017
-
Custom tag class in unit test shouldn't inherit AsdfType...
All classes that inherit AsdfType are automatically added to the internal list of built-in types. In this case, adding a type that was defined within a unit test to the list of built-ins caused problems for the schema validation tests. This commit is really just a work-around for now. In the long term, there should be another class that can be inherited by both built-in and user-defined types.
Configuration menu - View commit details
-
Copy full SHA for 2d2632e - Browse repository at this point
Copy the full SHA 2d2632eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 44d0261 - Browse repository at this point
Copy the full SHA 44d0261View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d85aef - Browse repository at this point
Copy the full SHA 5d85aefView commit details -
WIP: moved version compat logic into yamlutils...
This seems like the most logical place to make a decision about whether to write a custom data structure or possible or just return a raw Python object. Added a new method to AsdfTypes `version_is_supported` to determine if a particular tag version can be handled by the class. It's mostly just a stub for now but logic will be fleshed out soon.
Configuration menu - View commit details
-
Copy full SHA for cadb129 - Browse repository at this point
Copy the full SHA cadb129View commit details -
Modify extension type hierarchy to diffentiate custom classes...
This update allows extension types to be differentiated between those that ASDF provides as part of the library, and those that are user-defined. The ASDF types are automatically added to the list of built-in extensions used by the library, whereas user-defined types are not.
Configuration menu - View commit details
-
Copy full SHA for 8ae634a - Browse repository at this point
Copy the full SHA 8ae634aView commit details -
Extension classes now have
supported_version
field...Custom extension classes can now declare explicit support for various schema versions using the `supported_version` field. If this field is provided by an extension class, it will be used to determine whether that class can be used to convert a particular version of a schema to/from a custom class. If the field is not provided, or if a particular schema version is not listed, the extension class will simply return raw Python data structures representing the schema.
Configuration menu - View commit details
-
Copy full SHA for 242c41c - Browse repository at this point
Copy the full SHA 242c41cView commit details -
Configuration menu - View commit details
-
Copy full SHA for e269f41 - Browse repository at this point
Copy the full SHA e269f41View commit details -
Configuration menu - View commit details
-
Copy full SHA for bb39b80 - Browse repository at this point
Copy the full SHA bb39b80View commit details -
Configuration menu - View commit details
-
Copy full SHA for cbc3b76 - Browse repository at this point
Copy the full SHA cbc3b76View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d49117 - Browse repository at this point
Copy the full SHA 2d49117View commit details
Commits on Jul 14, 2017
-
Prototype of way to have multiple versions in one tag class...
This update allows a single extension class to support multiple versions of the same schema tag. There might be a better way to do it in the long run, but this way appears to work, at least for built-in classes. It would require a different mechanism to be used for user-defined classes, which is problematic.
Configuration menu - View commit details
-
Copy full SHA for ab4aac3 - Browse repository at this point
Copy the full SHA ab4aac3View commit details -
Configuration menu - View commit details
-
Copy full SHA for d0b49ee - Browse repository at this point
Copy the full SHA d0b49eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c91c4a - Browse repository at this point
Copy the full SHA 6c91c4aView commit details -
Configuration menu - View commit details
-
Copy full SHA for ba62a14 - Browse repository at this point
Copy the full SHA ba62a14View commit details -
Configuration menu - View commit details
-
Copy full SHA for e1d90f3 - Browse repository at this point
Copy the full SHA e1d90f3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 60cd2f5 - Browse repository at this point
Copy the full SHA 60cd2f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 37b1037 - Browse repository at this point
Copy the full SHA 37b1037View commit details
Commits on Jul 17, 2017
-
Refactor to handle versioned tag classes in ExtensionList creation...
In order to correctly implement multiple supported versions of tag classes for all extensions and not just ASDF built-ins, the logic for adding versioned extension classes was moved from the AsdfType metaclass constructor to the constructor for AsdfExtensionList. This allows both AsdfType and UserType sibling version classes to be properly handled. The sibling version classes themselves are now created within the ExtensionType constructor and are stored as property of the main version class.
Configuration menu - View commit details
-
Copy full SHA for a3a7ad4 - Browse repository at this point
Copy the full SHA a3a7ad4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b90d9e - Browse repository at this point
Copy the full SHA 2b90d9eView commit details
Commits on Jul 25, 2017
-
Configuration menu - View commit details
-
Copy full SHA for a813f6c - Browse repository at this point
Copy the full SHA a813f6cView commit details