Skip to content

Commit e135eec

Browse files
committed
[java] tidy up minor differences between the service classes
1 parent 2af020f commit e135eec

File tree

6 files changed

+58
-8
lines changed

6 files changed

+58
-8
lines changed

java/src/org/openqa/selenium/chrome/ChromeDriver.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.openqa.selenium.WebDriver;
2525
import org.openqa.selenium.chromium.ChromiumDriver;
2626
import org.openqa.selenium.chromium.ChromiumDriverCommandExecutor;
27+
import org.openqa.selenium.internal.Require;
2728
import org.openqa.selenium.remote.CommandInfo;
2829
import org.openqa.selenium.remote.RemoteWebDriver;
2930
import org.openqa.selenium.remote.RemoteWebDriverBuilder;
@@ -78,7 +79,7 @@ public ChromeDriver(ChromeOptions options) {
7879
* @param options The options required from ChromeDriver.
7980
*/
8081
public ChromeDriver(ChromeDriverService service, ChromeOptions options) {
81-
super(new ChromeDriverCommandExecutor(service), options, ChromeOptions.CAPABILITY);
82+
super(new ChromeDriverCommandExecutor(service), Require.nonNull("Driver options", options), ChromeOptions.CAPABILITY);
8283
casting = new AddHasCasting().getImplementation(getCapabilities(), getExecuteMethod());
8384
cdp = new AddHasCdp().getImplementation(getCapabilities(), getExecuteMethod());
8485
}

java/src/org/openqa/selenium/firefox/FirefoxDriver.java

+21-1
Original file line numberDiff line numberDiff line change
@@ -90,20 +90,40 @@ public class FirefoxDriver extends RemoteWebDriver
9090
private Connection connection;
9191
private DevTools devTools;
9292
private BiDi biDi;
93+
94+
/**
95+
* Creates a new FirefoxDriver using the {@link GeckoDriverService#createDefaultService)}
96+
* server configuration.
97+
*
98+
* @see #FirefoxDriver(FirefoxDriverService, FirefoxOptions)
99+
*/
93100
public FirefoxDriver() {
94101
this(new FirefoxOptions());
95102
}
96103

104+
/**
105+
* Creates a new FirefoxDriver instance with the specified options.
106+
*
107+
* @param options The options to use.
108+
* @see #FirefoxDriver(FirefoxDriverService, FirefoxOptions)
109+
*/
97110
public FirefoxDriver(FirefoxOptions options) {
98111
this(new FirefoxDriverCommandExecutor(GeckoDriverService.createDefaultService()), options);
99112
}
100113

114+
/**
115+
* Creates a new FirefoxDriver instance. The {@code service} will be started along with the driver,
116+
* and shutdown upon calling {@link #quit()}.
117+
*
118+
* @param service The service to use.
119+
* @see RemoteWebDriver#RemoteWebDriver(org.openqa.selenium.remote.CommandExecutor, Capabilities)
120+
*/
101121
public FirefoxDriver(FirefoxDriverService service) {
102122
this(service, new FirefoxOptions());
103123
}
104124

105125
public FirefoxDriver(FirefoxDriverService service, FirefoxOptions options) {
106-
this(new FirefoxDriverCommandExecutor(service), options);
126+
this(new FirefoxDriverCommandExecutor(service), Require.nonNull("Driver options", options));
107127
}
108128

109129
private FirefoxDriver(FirefoxDriverCommandExecutor executor, FirefoxOptions options) {

java/src/org/openqa/selenium/firefox/GeckoDriverService.java

+13-2
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,13 @@
3131
import java.io.IOException;
3232
import java.time.Duration;
3333
import java.util.ArrayList;
34+
import java.util.HashMap;
3435
import java.util.List;
3536
import java.util.Map;
3637
import java.util.Optional;
3738

3839
import static java.util.Collections.unmodifiableList;
40+
import static java.util.Collections.unmodifiableMap;
3941
import static java.util.concurrent.TimeUnit.MILLISECONDS;
4042
import static org.openqa.selenium.remote.Browser.FIREFOX;
4143

@@ -62,7 +64,9 @@ public GeckoDriverService(
6264
int port,
6365
List<String> args,
6466
Map<String, String> environment) throws IOException {
65-
super(executable, port, DEFAULT_TIMEOUT, args, environment);
67+
super(executable, port, DEFAULT_TIMEOUT,
68+
unmodifiableList(new ArrayList<>(args)),
69+
unmodifiableMap(new HashMap<>(environment)));
6670
}
6771

6872
/**
@@ -79,7 +83,9 @@ public GeckoDriverService(
7983
Duration timeout,
8084
List<String> args,
8185
Map<String, String> environment) throws IOException {
82-
super(executable, port, timeout, args, environment);
86+
super(executable, port, timeout,
87+
unmodifiableList(new ArrayList<>(args)),
88+
unmodifiableMap(new HashMap<>(environment)));
8389
}
8490

8591
/**
@@ -94,6 +100,11 @@ public static GeckoDriverService createDefaultService() {
94100
return new Builder().build();
95101
}
96102

103+
/**
104+
*
105+
* @param caps Capabilities instance
106+
* @return default GeckoDriverService
107+
*/
97108
static GeckoDriverService createDefaultService(Capabilities caps) {
98109
return createDefaultService();
99110
}

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

+5-1
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@
2727
import java.io.IOException;
2828
import java.time.Duration;
2929
import java.util.ArrayList;
30+
import java.util.HashMap;
3031
import java.util.List;
3132
import java.util.Map;
3233

3334
import static java.util.Collections.unmodifiableList;
35+
import static java.util.Collections.unmodifiableMap;
3436
import static org.openqa.selenium.remote.Browser.IE;
3537

3638
/**
@@ -80,7 +82,9 @@ public class InternetExplorerDriverService extends DriverService {
8082
*/
8183
private InternetExplorerDriverService(File executable, int port, Duration timeout, List<String> args,
8284
Map<String, String> environment) throws IOException {
83-
super(executable, port, timeout, args, environment);
85+
super(executable, port, timeout,
86+
unmodifiableList(new ArrayList<>(args)),
87+
unmodifiableMap(new HashMap<>(environment)));
8488
}
8589

8690
/**

java/src/org/openqa/selenium/safari/SafariDriverService.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,14 @@
2828
import java.io.File;
2929
import java.io.IOException;
3030
import java.time.Duration;
31+
import java.util.ArrayList;
3132
import java.util.Arrays;
33+
import java.util.HashMap;
3234
import java.util.List;
3335
import java.util.Map;
3436

37+
import static java.util.Collections.unmodifiableList;
38+
import static java.util.Collections.unmodifiableMap;
3539
import static java.util.concurrent.TimeUnit.MILLISECONDS;
3640
import static org.openqa.selenium.Platform.MAC;
3741
import static org.openqa.selenium.remote.Browser.SAFARI;
@@ -51,7 +55,9 @@ public SafariDriverService(
5155
int port,
5256
List<String> args,
5357
Map<String, String> environment) throws IOException {
54-
super(executable, port, DEFAULT_TIMEOUT, args, environment);
58+
super(executable, port, DEFAULT_TIMEOUT,
59+
unmodifiableList(new ArrayList<>(args)),
60+
unmodifiableMap(new HashMap<>(environment)));
5561
}
5662

5763
public SafariDriverService(

java/src/org/openqa/selenium/safari/SafariTechPreviewDriverService.java

+10-2
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,14 @@
2727
import java.io.File;
2828
import java.io.IOException;
2929
import java.time.Duration;
30+
import java.util.ArrayList;
3031
import java.util.Arrays;
32+
import java.util.HashMap;
3133
import java.util.List;
3234
import java.util.Map;
3335

36+
import static java.util.Collections.unmodifiableList;
37+
import static java.util.Collections.unmodifiableMap;
3438
import static java.util.concurrent.TimeUnit.MILLISECONDS;
3539
import static org.openqa.selenium.remote.Browser.SAFARI_TECH_PREVIEW;
3640

@@ -50,7 +54,9 @@ public SafariTechPreviewDriverService(
5054
int port,
5155
List<String> args,
5256
Map<String, String> environment) throws IOException {
53-
super(executable, port, DEFAULT_TIMEOUT, args, environment);
57+
super(executable, port, DEFAULT_TIMEOUT,
58+
unmodifiableList(new ArrayList<>(args)),
59+
unmodifiableMap(new HashMap<>(environment)));
5460
}
5561

5662
public SafariTechPreviewDriverService(
@@ -59,7 +65,9 @@ public SafariTechPreviewDriverService(
5965
Duration timeout,
6066
List<String> args,
6167
Map<String, String> environment) throws IOException {
62-
super(executable, port, timeout, args, environment);
68+
super(executable, port, timeout,
69+
unmodifiableList(new ArrayList<>(args)),
70+
unmodifiableMap(new HashMap<>(environment)));
6371
}
6472

6573
public static SafariTechPreviewDriverService createDefaultService() {

0 commit comments

Comments
 (0)