Codegen refactoring for operation context params and jmesPath #5219
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
Refactors codegen for operation context parameters and jmesPath code generator, and fixes the condition for when to generate the jmesPath runtime.
Modifications
EndpointResolverInterceptorSpec
is getting too big. By extracting logic and codegen for Operation Context Params and putting into a separate class, it's easier to read and understand the codeJmesPathAcceptorGenerator
toJmesPathExpressionConverter
sinceAcceptor
is a Waiter term. Another name could beJmesPathCodeGenerator
JmesPathRuntime.java.resource
was set to true. Now that all endpoint parameter logic is finished, it's updated to checking for the presence of Operation Context Params: If there are waiters, we know there is a runtime. If there are no waiters, we'll generate runtime if there are operation context parametersTesting
Screenshots (if appropriate)
Types of changes
Checklist
mvn install
succeedsscripts/new-change
script and following the instructions. Commit the new file created by the script in.changes/next-release
with your changes.License