Skip to content

Commit 3876882

Browse files
authored
[java] Feat 14291/jspecify nullable annotation (#15924)
1 parent e1cb6a5 commit 3876882

File tree

5 files changed

+20
-26
lines changed

5 files changed

+20
-26
lines changed

java/src/org/openqa/selenium/ie/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@ java_export(
1515
"//java/src/org/openqa/selenium:core",
1616
"//java/src/org/openqa/selenium/manager",
1717
"//java/src/org/openqa/selenium/remote",
18+
"@maven//:org_jspecify_jspecify",
1819
],
1920
)

java/src/org/openqa/selenium/ie/InternetExplorerDriver.java

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package org.openqa.selenium.ie;
1919

20+
import org.jspecify.annotations.Nullable;
2021
import org.openqa.selenium.Beta;
2122
import org.openqa.selenium.Capabilities;
2223
import org.openqa.selenium.Platform;
@@ -108,20 +109,13 @@ public InternetExplorerDriver(
108109
* @param options The options required from InternetExplorerDriver.
109110
*/
110111
public InternetExplorerDriver(
111-
InternetExplorerDriverService service,
112-
InternetExplorerOptions options,
113-
ClientConfig clientConfig) {
114-
if (options == null) {
115-
options = new InternetExplorerOptions();
116-
}
117-
if (service == null) {
118-
service = InternetExplorerDriverService.createDefaultService();
119-
}
112+
@Nullable InternetExplorerDriverService service,
113+
@Nullable InternetExplorerOptions options,
114+
@Nullable ClientConfig clientConfig) {
115+
options = options == null ? new InternetExplorerOptions() : options;
116+
service = service == null ? InternetExplorerDriverService.createDefaultService() : service;
117+
clientConfig = clientConfig == null ? ClientConfig.defaultConfig() : clientConfig;
120118
service.setExecutable(new DriverFinder(service, options).getDriverPath());
121-
if (clientConfig == null) {
122-
clientConfig = ClientConfig.defaultConfig();
123-
}
124-
125119
run(service, options, clientConfig);
126120
}
127121

java/src/org/openqa/selenium/remote/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ java_library(
7878
"//java/src/org/openqa/selenium/support/decorators",
7979
artifact("com.google.guava:guava"),
8080
artifact("net.bytebuddy:byte-buddy"),
81+
artifact("org.jspecify:jspecify"),
8182
],
8283
)
8384

java/src/org/openqa/selenium/remote/DesiredCapabilities.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import static org.openqa.selenium.remote.CapabilityType.PLATFORM_NAME;
2424

2525
import java.util.Map;
26+
import java.util.Optional;
27+
import org.jspecify.annotations.Nullable;
2628
import org.openqa.selenium.Capabilities;
2729
import org.openqa.selenium.MutableCapabilities;
2830
import org.openqa.selenium.Platform;
@@ -39,12 +41,8 @@ public DesiredCapabilities() {
3941
// no-arg constructor
4042
}
4143

42-
public DesiredCapabilities(Map<String, ?> rawMap) {
43-
if (rawMap == null) {
44-
return;
45-
}
46-
47-
rawMap.forEach(this::setCapability);
44+
public DesiredCapabilities(@Nullable Map<String, ?> rawMap) {
45+
Optional.ofNullable(rawMap).ifPresent(map -> map.forEach(this::setCapability));
4846
}
4947

5048
public DesiredCapabilities(Capabilities other) {
@@ -94,10 +92,9 @@ public void setAcceptInsecureCerts(boolean acceptInsecureCerts) {
9492
* @return DesiredCapabilities after the merge
9593
*/
9694
@Override
97-
public DesiredCapabilities merge(Capabilities extraCapabilities) {
98-
if (extraCapabilities != null) {
99-
extraCapabilities.asMap().forEach(this::setCapability);
100-
}
95+
public DesiredCapabilities merge(@Nullable Capabilities extraCapabilities) {
96+
Optional.ofNullable(extraCapabilities)
97+
.ifPresent(caps -> caps.asMap().forEach(this::setCapability));
10198
return this;
10299
}
103100
}

java/src/org/openqa/selenium/remote/service/DriverService.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import java.util.concurrent.TimeoutException;
4242
import java.util.concurrent.locks.ReentrantLock;
4343
import java.util.logging.Logger;
44+
import org.jspecify.annotations.Nullable;
4445
import org.openqa.selenium.Beta;
4546
import org.openqa.selenium.Capabilities;
4647
import org.openqa.selenium.ImmutableCapabilities;
@@ -145,15 +146,15 @@ protected Capabilities getDefaultDriverOptions() {
145146
return new ImmutableCapabilities();
146147
}
147148

148-
protected String getDriverName() {
149+
protected @Nullable String getDriverName() {
149150
return null;
150151
}
151152

152-
public String getDriverProperty() {
153+
public @Nullable String getDriverProperty() {
153154
return null;
154155
}
155156

156-
protected File getDriverExecutable() {
157+
protected @Nullable File getDriverExecutable() {
157158
return null;
158159
}
159160

0 commit comments

Comments
 (0)