Skip to content

Commit d04d165

Browse files
committed
Every command handler returns ResultType.SUCCESS and those handlers that
return an actual value do so through a level of indirection. This commit changes command handlers to just return results directly to the caller, making it possible to delete a lot of unnecessary code.
1 parent 96673df commit d04d165

File tree

125 files changed

+572
-1331
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+572
-1331
lines changed

java/server/src/org/openqa/selenium/remote/server/JsonHttpRemoteConfig.java

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -122,20 +122,10 @@
122122
import org.openqa.selenium.remote.server.handler.interactions.touch.Scroll;
123123
import org.openqa.selenium.remote.server.handler.interactions.touch.SingleTapOnElement;
124124
import org.openqa.selenium.remote.server.handler.interactions.touch.Up;
125-
import org.openqa.selenium.remote.server.renderer.EmptyResult;
126-
import org.openqa.selenium.remote.server.renderer.ForwardResult;
127-
import org.openqa.selenium.remote.server.renderer.JsonErrorExceptionResult;
128-
import org.openqa.selenium.remote.server.renderer.JsonResult;
129-
import org.openqa.selenium.remote.server.renderer.RedirectResult;
130-
import org.openqa.selenium.remote.server.rest.Renderer;
131125
import org.openqa.selenium.remote.server.rest.RestishHandler;
132-
import org.openqa.selenium.remote.server.rest.Result;
133126
import org.openqa.selenium.remote.server.rest.ResultConfig;
134-
import org.openqa.selenium.remote.server.rest.ResultType;
135127
import org.openqa.selenium.remote.server.rest.UrlMapper;
136-
import org.openqa.selenium.remote.server.xdrpc.CrossDomainRpcRenderer;
137128

138-
import java.util.EnumSet;
139129
import java.util.logging.Logger;
140130

141131
public class JsonHttpRemoteConfig {
@@ -152,16 +142,18 @@ public JsonHttpRemoteConfig(DriverSessions sessions, Logger log) {
152142
setUpMappings(sessions, log);
153143
}
154144

155-
public void addNewGetMapping(String path, Class<? extends RestishHandler> implementationClass) {
145+
public void addNewGetMapping(
146+
String path, Class<? extends RestishHandler<?>> implementationClass) {
156147
getMapper.bind(path, implementationClass);
157148
}
158149

159-
public void addNewPostMapping(String path, Class<? extends RestishHandler> implementationClass) {
150+
public void addNewPostMapping(
151+
String path, Class<? extends RestishHandler<?>> implementationClass) {
160152
postMapper.bind(path, implementationClass);
161153
}
162154

163155
public void addNewDeleteMapping(
164-
String path, Class<? extends RestishHandler> implementationClass) {
156+
String path, Class<? extends RestishHandler<?>> implementationClass) {
165157
deleteMapper.bind(path, implementationClass);
166158
}
167159

@@ -204,12 +196,9 @@ private UrlMapper getUrlMapper(String method) {
204196
}
205197

206198
private void setUpMappings(DriverSessions driverSessions, Logger logger) {
207-
Renderer successRenderer = new JsonResult(RESPONSE);
208-
Renderer errorRenderer = new JsonErrorExceptionResult(EXCEPTION, RESPONSE);
209-
210-
getMapper = new UrlMapper(driverSessions, logger, successRenderer, errorRenderer);
211-
postMapper = new UrlMapper(driverSessions, logger, successRenderer, errorRenderer);
212-
deleteMapper = new UrlMapper(driverSessions, logger, successRenderer, errorRenderer);
199+
getMapper = new UrlMapper(driverSessions, logger);
200+
postMapper = new UrlMapper(driverSessions, logger);
201+
deleteMapper = new UrlMapper(driverSessions, logger);
213202

214203
postMapper.bind("/config/drivers", AddConfig.class);
215204

@@ -313,7 +302,8 @@ private void setUpMappings(DriverSessions driverSessions, Logger logger) {
313302
getMapper.bind("/session/:sessionId/local_storage/size", GetLocalStorageSize.class);
314303

315304
getMapper.bind("/session/:sessionId/session_storage/key/:key", GetSessionStorageItem.class);
316-
deleteMapper.bind("/session/:sessionId/session_storage/key/:key", RemoveSessionStorageItem.class);
305+
deleteMapper.bind("/session/:sessionId/session_storage/key/:key",
306+
RemoveSessionStorageItem.class);
317307
getMapper.bind("/session/:sessionId/session_storage", GetSessionStorageKeys.class);
318308
postMapper.bind("/session/:sessionId/session_storage", SetSessionStorageItem.class);
319309
deleteMapper.bind("/session/:sessionId/session_storage", ClearSessionStorage.class);

java/server/src/org/openqa/selenium/remote/server/build.desc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,6 @@ java_library(name = "server_very_core",
9090
"DefaultSession.java",
9191
"SessionCleaner.java",
9292
"SnapshotScreenListener.java",
93-
"renderer/*.java",
94-
"xdrpc/CrossDomainRpcRenderer.java",
9593
],
9694
deps = [
9795
":http-api",

java/server/src/org/openqa/selenium/remote/server/handler/AcceptAlert.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,16 @@
1616

1717
package org.openqa.selenium.remote.server.handler;
1818

19-
import static org.openqa.selenium.remote.server.rest.ResultType.SUCCESS;
20-
2119
import org.openqa.selenium.remote.server.Session;
22-
import org.openqa.selenium.remote.server.rest.ResultType;
2320

24-
public class AcceptAlert extends WebDriverHandler {
21+
public class AcceptAlert extends WebDriverHandler<Void> {
2522
public AcceptAlert(Session session) {
2623
super(session);
2724
}
2825

29-
public ResultType call() throws Exception {
26+
public Void call() throws Exception {
3027
getDriver().switchTo().alert().accept();
31-
return SUCCESS;
28+
return null;
3229
}
3330

3431
@Override

java/server/src/org/openqa/selenium/remote/server/handler/AddConfig.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,16 @@
1616

1717
package org.openqa.selenium.remote.server.handler;
1818

19-
import static org.openqa.selenium.remote.server.rest.ResultType.SUCCESS;
20-
2119
import org.openqa.selenium.Capabilities;
2220
import org.openqa.selenium.WebDriver;
2321
import org.openqa.selenium.remote.DesiredCapabilities;
2422
import org.openqa.selenium.remote.server.DriverSessions;
2523
import org.openqa.selenium.remote.server.JsonParametersAware;
2624
import org.openqa.selenium.remote.server.rest.RestishHandler;
27-
import org.openqa.selenium.remote.server.rest.ResultType;
2825

2926
import java.util.Map;
3027

31-
public class AddConfig implements RestishHandler, JsonParametersAware {
28+
public class AddConfig implements RestishHandler<Void>, JsonParametersAware {
3229
private final DriverSessions allSessions;
3330
private volatile Capabilities desiredCapabilities;
3431
private volatile String className;
@@ -38,18 +35,20 @@ public AddConfig(DriverSessions allSessions) {
3835
}
3936

4037
@SuppressWarnings("unchecked")
38+
@Override
4139
public void setJsonParameters(Map<String, Object> allParameters) throws Exception {
4240
Map<String, Object> capabilitiesMap = (Map<String, Object>) allParameters.get("capabilities");
4341
desiredCapabilities = new DesiredCapabilities(capabilitiesMap);
4442
className = (String) allParameters.get("class");
4543
}
4644

47-
public ResultType handle() throws Exception {
45+
@Override
46+
public Void handle() throws Exception {
4847
// We'll let errors bubble up
4948
Class<? extends WebDriver> clazz = Class.forName(className).asSubclass(WebDriver.class);
5049

5150
allSessions.registerDriver(desiredCapabilities, clazz);
5251

53-
return SUCCESS;
52+
return null;
5453
}
5554
}

java/server/src/org/openqa/selenium/remote/server/handler/AddCookie.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,26 @@
2222
import org.openqa.selenium.Cookie;
2323
import org.openqa.selenium.remote.server.JsonParametersAware;
2424
import org.openqa.selenium.remote.server.Session;
25-
import org.openqa.selenium.remote.server.rest.ResultType;
2625

2726
import java.util.Date;
2827
import java.util.Map;
2928
import java.util.concurrent.TimeUnit;
3029

31-
public class AddCookie extends WebDriverHandler implements JsonParametersAware {
30+
public class AddCookie extends WebDriverHandler<Void> implements JsonParametersAware {
3231

3332
private volatile Map<String, Object> rawCookie;
3433

3534
public AddCookie(Session session) {
3635
super(session);
3736
}
3837

39-
public ResultType call() throws Exception {
38+
@Override
39+
public Void call() throws Exception {
4040
Cookie cookie = createCookie();
4141

4242
getDriver().manage().addCookie(cookie);
4343

44-
return ResultType.SUCCESS;
44+
return null;
4545
}
4646

4747
@SuppressWarnings({"unchecked"})

java/server/src/org/openqa/selenium/remote/server/handler/CaptureScreenshot.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,18 @@
2121
import org.openqa.selenium.TakesScreenshot;
2222
import org.openqa.selenium.WebDriver;
2323
import org.openqa.selenium.remote.server.Session;
24-
import org.openqa.selenium.remote.server.rest.ResultType;
2524

26-
public class CaptureScreenshot extends ResponseAwareWebDriverHandler {
25+
public class CaptureScreenshot extends WebDriverHandler<String> {
2726

2827
public CaptureScreenshot(Session session) {
2928
super(session);
3029
}
3130

32-
public ResultType call() throws Exception {
31+
@Override
32+
public String call() throws Exception {
3333
WebDriver driver = getUnwrappedDriver();
3434

35-
response.setValue(((TakesScreenshot) driver).getScreenshotAs(BASE64));
36-
return ResultType.SUCCESS;
35+
return ((TakesScreenshot) driver).getScreenshotAs(BASE64);
3736
}
3837

3938
@Override

java/server/src/org/openqa/selenium/remote/server/handler/ChangeUrl.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,27 @@
1818

1919
import org.openqa.selenium.remote.server.JsonParametersAware;
2020
import org.openqa.selenium.remote.server.Session;
21-
import org.openqa.selenium.remote.server.rest.ResultType;
2221

2322
import java.util.Map;
2423

25-
public class ChangeUrl extends WebDriverHandler implements JsonParametersAware {
24+
public class ChangeUrl extends WebDriverHandler<Void> implements JsonParametersAware {
2625

2726
private volatile String url;
2827

2928
public ChangeUrl(Session session) {
3029
super(session);
3130
}
3231

32+
@Override
3333
public void setJsonParameters(Map<String, Object> allParameters) throws Exception {
3434
url = (String) allParameters.get("url");
3535
}
3636

37-
public ResultType call() throws Exception {
37+
@Override
38+
public Void call() throws Exception {
3839
getDriver().get(url);
3940

40-
return ResultType.SUCCESS;
41+
return null;
4142
}
4243

4344
@Override

java/server/src/org/openqa/selenium/remote/server/handler/ClearElement.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@
1717
package org.openqa.selenium.remote.server.handler;
1818

1919
import org.openqa.selenium.remote.server.Session;
20-
import org.openqa.selenium.remote.server.rest.ResultType;
2120

22-
public class ClearElement extends WebDriverHandler {
21+
public class ClearElement extends WebDriverHandler<Void> {
2322

2423
private volatile String elementId;
2524

@@ -31,10 +30,10 @@ public void setId(String elementId) {
3130
this.elementId = elementId;
3231
}
3332

34-
public ResultType call() throws Exception {
33+
@Override
34+
public Void call() throws Exception {
3535
getKnownElements().get(elementId).clear();
36-
37-
return ResultType.SUCCESS;
36+
return null;
3837
}
3938

4039
@Override

java/server/src/org/openqa/selenium/remote/server/handler/ClickElement.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@
1717
package org.openqa.selenium.remote.server.handler;
1818

1919
import org.openqa.selenium.remote.server.Session;
20-
import org.openqa.selenium.remote.server.rest.ResultType;
2120

22-
public class ClickElement extends WebElementHandler {
21+
public class ClickElement extends WebElementHandler<Void> {
2322

2423
public ClickElement(Session session) {
2524
super(session);
2625
}
2726

28-
public ResultType call() throws Exception {
27+
@Override
28+
public Void call() throws Exception {
2929
getElement().click();
30-
return ResultType.SUCCESS;
30+
return null;
3131
}
3232

3333
@Override

java/server/src/org/openqa/selenium/remote/server/handler/CloseWindow.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,18 @@
1919

2020
import org.openqa.selenium.WebDriver;
2121
import org.openqa.selenium.remote.server.Session;
22-
import org.openqa.selenium.remote.server.rest.ResultType;
2322

24-
public class CloseWindow extends WebDriverHandler {
23+
public class CloseWindow extends WebDriverHandler<Void> {
2524

2625
public CloseWindow(Session session) {
2726
super(session);
2827
}
2928

30-
public ResultType call() throws Exception {
29+
@Override
30+
public Void call() throws Exception {
3131
WebDriver driver = getDriver();
3232
driver.close();
33-
34-
return ResultType.SUCCESS;
33+
return null;
3534
}
3635

3736
@Override

0 commit comments

Comments
 (0)