chore: simplify ClientWriteStatus enum to basic Java enum#594
chore: simplify ClientWriteStatus enum to basic Java enum#594curfew-marathon merged 1 commit intomainfrom
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.
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