fix(java): fix OAuthTokenSupplier builder method ordering for staged builders #11087
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.
Description
Fixes a bug where
OAuthTokenSuppliergenerates builder method calls in the wrong order when the request type uses a staged builder pattern, causing compilation errors.Link to Devin run: https://app.devin.ai/sessions/3ae49b867faa4a76824cfd908f05cea2
Requested by: [email protected] (@tstanmay13)
Changes Made
visitReference()method inOAuthTokenSupplierGenerator.getOrderedBuilderProperties()to properly look up type declarations and extract properties in declaration orderjava-oauth-staged-builderthat validates builder method ordering with a custom OAuth property (apiKey) beforeclientIdandclientSecretTesting
java-oauth-staged-builderfixtureoauth-client-credentialsandoauth-client-credentials-customfixturespnpm run check)Human Review Checklist
visitReference()implementation correctly handles edge cases (null type declarations, non-object types)body: properties:), which exercisesvisitInlinedRequestBody(). Consider whether a referenced body type test case should also be added to directly test thevisitReference()code pathobjectType.getProperties()preserves declaration order as expected