[java] Fix SpotBugs findings in ChromiumDriver
and PortProber
#14589
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.
User description
Description
As described in this comment, SpotBugs found some additional bugs in the code.
In this PR I fix part of the found problems.
ChromiumDriver
SpotBugs error:
documentation
Yes there is an actual bug here.
When
script.hashCode() == Integer.MIN_VALUE
then the generated code is not valid JavaScript code, and will cause the script to crash.Solution: cast hashCode to
long
PortProber
SpotBugs error:
documentation
Actually the code in the try block declares that it can throw exceptions of types:
IOException
SocketException
SecurityException
IllegalArgumentException
This can be shortened to
IOException | RuntimeException
union.Motivation and Context
Fixing the actual problems is necessary before enabling full SpotBugs analysis, in order to not break the build.
Types of changes
Checklist
PR Type
Bug fix
Description
ChromiumDriver
by casting the hash code tolong
to prevent invalid JavaScript code when the hash code equalsInteger.MIN_VALUE
.PortProber
by catching specific exceptions (IOException
andRuntimeException
) instead of a genericException
.Changes walkthrough 📝
ChromiumDriver.java
Fix hashCode handling in `ChromiumDriver` pin method
java/src/org/openqa/selenium/chromium/ChromiumDriver.java
long
to avoid invalidJavaScript code.
Integer.MIN_VALUE
.PortProber.java
Simplify exception handling in `PortProber` isFree method
java/src/org/openqa/selenium/net/PortProber.java
IOException
andRuntimeException
.handling.