-
Notifications
You must be signed in to change notification settings - Fork 5
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
update API #177
update API #177
Conversation
Added all of the new endpoints in groups classes, references, and products. Added all of the old endpoints in the group deprecrated.
Update swagger.yml to match the proposal plus any additions and clarification on the original ticket NASA-PDS/pds-api#202. Re-arranged the code to fit the new API. Required some new exceptions and tweaks to the basic interfaces to support the membership concept outside of just referencing in general and that a lidvid necessarily match a particular product type. Added new swagger transmutation layers to support the easy removal of deprecated code in the future and to support easier maintenance in the future. Left the old referencing suff only because there is a chance it may come back in the newish future to support some other use cases. The new swagger transmutation layers still all funnel through a single processor once all of the inputs have been collected. The deprecated code mostly works itself through the new API showing that what could be done still can using the inew API. Did not want to update the standard handler to also check that desired class matches the lid(vid) so did not route those but they could also be done with a touch more code change just for that demonstration whcih is why it was not done.
service/src/main/java/gov/nasa/pds/api/registry/view/ClassesSerializer.java
Outdated
Show resolved
Hide resolved
Given the new endpoints of /classes/{class}/{identifier} have to verify the {identifier} is actually of the type {class}. Previous commit had a blank for this function but need it filled out to test it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple questions, but approved with a pre-req that tests pass successfully.
@jordanpadams @jimmie @tloubrieu-jpl Struggling right now because none of the endpoints are reachable despite no errors during build. Changed all version numbers to make sure that is not the problem, but seems not be. Trying to get it fixed and tested during driving breaks. |
@jordanpadams @jimmie @tloubrieu-jpl Figured it out. A limitation of swagger/spring forces all of the methods to be in the @controller rather than inherited. Luckily eclipse put the methods in for and forwarded them to the inherited methods. Moving forward. |
Seems there is a limitation in spring (maybe swagger) that the methods to be used in a @controller must be present in the class and not inherited. This makes the code a bit more repetitive, but it works.
Had to update the endpoints to match the new API. Simply tested what already existed and did not add any new tests for new corner cases. Had to update the number of collections and products too. Seems my latest install of data from harvest is smaller than before. However it all fits the current data in my opensearch now.
@jordanpadams @jimmie @tloubrieu-jpl All working once again:
|
🗒️ Summary
Changed the endpoints to match the desires of the review board. Implement all of the requested endpoints.
⚙️ Test Data and/or Report
Output from ut/regress.sh
♻️ Related Issues
Closes NASA-PDS/pds-api#202