- 
                Notifications
    You must be signed in to change notification settings 
- Fork 61
chore: simplify ClientWriteStatus enum to basic Java enum #594
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
Conversation
- Remove unnecessary value field, constructor, and getValue() method - Update enum to use simple SUCCESS and FAILURE constants - Update tests to expect uppercase enum names instead of lowercase values - Follows standard Java enum practices and reduces complexity
| WalkthroughConverted ClientWriteStatus from a string-backed enum to a plain enum and updated corresponding tests to assert uppercase enum names via toString(), removing getValue() usage. Changes
 Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. ✨ Finishing Touches🧪 Generate unit tests
 Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit: 
 SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type  Other keywords and placeholders
 CodeRabbit Configuration File ( | 
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.
Actionable comments posted: 0
🧹 Nitpick comments (2)
config/clients/java/template/src/test/api/client/model/ClientWriteStatusTest.java.mustache (2)
11-11: Prefer name() over toString() in assertionstoString() can be overridden; name() explicitly asserts the enum constant’s identifier. This makes the tests more robust without changing intent.
Apply this diff:
- assertEquals("SUCCESS", ClientWriteStatus.SUCCESS.toString()); + assertEquals("SUCCESS", ClientWriteStatus.SUCCESS.name());
16-16: Mirror the change for FAILURE testSame reasoning as above; assert the enum identifier directly.
Apply this diff:
- assertEquals("FAILURE", ClientWriteStatus.FAILURE.toString()); + assertEquals("FAILURE", ClientWriteStatus.FAILURE.name());
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these settings in your CodeRabbit configuration.
📒 Files selected for processing (2)
- config/clients/java/template/src/main/api/client/model/ClientWriteStatus.java.mustache(1 hunks)
- config/clients/java/template/src/test/api/client/model/ClientWriteStatusTest.java.mustache(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: build-and-test-java-sdk
- GitHub Check: build-and-test-go-sdk
- GitHub Check: build-and-test-js-sdk
🔇 Additional comments (3)
config/clients/java/template/src/main/api/client/model/ClientWriteStatus.java.mustache (2)
4-7: Enum simplification LGTMSwitching to a plain enum with SUCCESS/FAILURE removes unnecessary boilerplate and aligns with idiomatic Java. No functional issues spotted in this template.
5-6: No serialization break detected — OK to keep bare enumI ran the checks you requested. Short summary:
- No usages of ClientWriteStatus.getValue(...) or ClientWriteStatus.fromValue(...) found.
- No occurrences of lowercase "success"/"failure" in the Java client templates.
- The generated test asserts uppercase values: config/clients/java/template/src/test/api/client/model/ClientWriteStatusTest.java.mustache asserts "SUCCESS" and "FAILURE".
- There are generic enum templates that support @JsonValue/@JsonCreator (config/clients/java/template/libraries/native/modelEnum.mustache and modelInnerEnum.mustache), but that support does not appear to be applied to this enum.
Conclusion: the change to a bare enum producing "SUCCESS"/"FAILURE" appears intentional and not a breaking change in this repo. If external consumers expect lowercase wire values, add @JsonValue/@JsonCreator or a TypeAdapter; otherwise no fix required.
config/clients/java/template/src/test/api/client/model/ClientWriteStatusTest.java.mustache (1)
9-18: Tests updated correctly to reflect the simplified enumThe tests target the new uppercase identifiers and no longer depend on a value field or accessor. Once the minor nitpick above is addressed, this looks solid.
Summary by CodeRabbit
Refactor
Tests