-
Notifications
You must be signed in to change notification settings - Fork 121
chore: Using error prone and jspecify to expend the nullability #332
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
Summary of ChangesHello @ehsavoie, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the robustness and clarity of the HTTP+REST API by introducing explicit nullability contracts using JSpecify annotations and configuring static analysis tools like Error Prone and NullAway. These changes aim to prevent NullPointerExceptions at compile time, improve code predictability, and modernize the codebase with Java 17 features, ultimately leading to a more reliable and maintainable system. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
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.
Code Review
This pull request does a great job of improving null-safety by introducing jspecify annotations and fixing potential null-related issues. The refactorings to use modern Java features like switch expressions and defensive copying are also valuable improvements.
I've identified a few issues, including two critical visibility changes that would break compilation, a redundant line of code, a minor logging improvement, and a style suggestion for better readability. Please address these points to finalize the PR.
http-client/src/main/java/io/a2a/client/http/JdkA2AHttpClient.java
Outdated
Show resolved
Hide resolved
http-client/src/main/java/io/a2a/client/http/JdkA2AHttpClient.java
Outdated
Show resolved
Hide resolved
client/transport/rest/src/main/java/io/a2a/client/transport/rest/RestTransport.java
Outdated
Show resolved
Hide resolved
client/transport/rest/src/main/java/io/a2a/client/transport/rest/sse/RestSSEEventListener.java
Outdated
Show resolved
Hide resolved
...ain/java/io/a2a/client/transport/spi/interceptors/auth/InMemoryContextCredentialService.java
Outdated
Show resolved
Hide resolved
34fbf3f to
08315ab
Compare
definition on the HTTP+REST API. Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
08315ab to
9035965
Compare
fjuma
left a comment
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.
Thanks @ehsavoie!
…roject#332) definition on the HTTP+REST API. # Description Defining proper contracts on Nullability for the HTTP+REST transport and client Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
definition on the HTTP+REST API.
Description
Defining proper contracts on Nullability for the HTTP+REST transport and client