Skip to content

Commit bce1ca7

Browse files
committed
[grid] Adding flag for undocumented node implementation
[skip ci]
1 parent 4ec7366 commit bce1ca7

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

‎java/src/org/openqa/selenium/grid/node/config/NodeFlags.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import static org.openqa.selenium.grid.node.config.NodeOptions.DEFAULT_DETECT_DRIVERS;
2222
import static org.openqa.selenium.grid.node.config.NodeOptions.DEFAULT_HEARTBEAT_PERIOD;
2323
import static org.openqa.selenium.grid.node.config.NodeOptions.DEFAULT_MAX_SESSIONS;
24+
import static org.openqa.selenium.grid.node.config.NodeOptions.DEFAULT_NODE_IMPLEMENTATION;
2425
import static org.openqa.selenium.grid.node.config.NodeOptions.DEFAULT_REGISTER_CYCLE;
2526
import static org.openqa.selenium.grid.node.config.NodeOptions.DEFAULT_REGISTER_PERIOD;
2627
import static org.openqa.selenium.grid.node.config.NodeOptions.DEFAULT_SESSION_TIMEOUT;
@@ -42,7 +43,7 @@
4243
import java.util.List;
4344
import java.util.Set;
4445

45-
@SuppressWarnings("unused")
46+
@SuppressWarnings({"unused", "FieldMayBeFinal"})
4647
@AutoService(HasRoles.class)
4748
public class NodeFlags implements HasRoles {
4849

@@ -180,6 +181,14 @@ public class NodeFlags implements HasRoles {
180181
@ConfigValue(section = NODE_SECTION, name = "vnc-env-var", example = "START_XVFB")
181182
public String vncEnvVar = DEFAULT_VNC_ENV_VAR;
182183

184+
@Parameter(
185+
names = {"--node-implementation"},
186+
description = "Full classname of non-default Node implementation. This is used to manage "
187+
+ "a session's lifecycle.")
188+
@ConfigValue(section = NODE_SECTION, name = "implementation",
189+
example = DEFAULT_NODE_IMPLEMENTATION)
190+
private String nodeImplementation = DEFAULT_NODE_IMPLEMENTATION;
191+
183192
@Override
184193
public Set<Role> getRoles() {
185194
return Collections.singleton(NODE_ROLE);

‎java/src/org/openqa/selenium/grid/node/config/NodeOptions.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ public class NodeOptions {
7575
static final String DEFAULT_VNC_ENV_VAR = "START_XVFB";
7676
static final int DEFAULT_REGISTER_CYCLE = 10;
7777
static final int DEFAULT_REGISTER_PERIOD = 120;
78-
78+
static final String DEFAULT_NODE_IMPLEMENTATION =
79+
"org.openqa.selenium.grid.node.local.LocalNodeFactory";
7980
private static final Logger LOG = Logger.getLogger(NodeOptions.class.getName());
8081
private static final Json JSON = new Json();
81-
private static final String DEFAULT_IMPL = "org.openqa.selenium.grid.node.local.LocalNodeFactory";
8282
private static final Platform CURRENT_PLATFORM = Platform.getCurrent();
8383
private static final ImmutableSet<String>
8484
SINGLE_SESSION_DRIVERS = ImmutableSet.of("safari", "safari technology preview");
@@ -145,7 +145,7 @@ public Optional<URI> getPublicGridUri() {
145145
}
146146

147147
public Node getNode() {
148-
return config.getClass(NODE_SECTION, "implementation", Node.class, DEFAULT_IMPL);
148+
return config.getClass(NODE_SECTION, "implementation", Node.class, DEFAULT_NODE_IMPLEMENTATION);
149149
}
150150

151151
public Duration getRegisterCycle() {

0 commit comments

Comments
 (0)