Skip to content

Commit 6574275

Browse files
committed
More migration to our own JSON serialisers
1 parent d4eb9a2 commit 6574275

File tree

3 files changed

+8
-11
lines changed

3 files changed

+8
-11
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
import com.google.common.collect.ImmutableMap;
2929
import com.google.common.net.HttpHeaders;
3030
import com.google.common.net.MediaType;
31-
import com.google.gson.Gson;
3231

3332
import org.openqa.selenium.Platform;
3433
import org.openqa.selenium.logging.LoggingHandler;
34+
import org.openqa.selenium.remote.BeanToJsonConverter;
3535
import org.openqa.selenium.remote.ErrorCodes;
3636
import org.openqa.selenium.remote.SessionId;
3737
import org.openqa.selenium.remote.server.log.LoggingManager;
@@ -302,7 +302,7 @@ private void writeThrowable(HttpServletResponse resp, Throwable e) {
302302
"lineNumber", element.getLineNumber()))
303303
.collect(ImmutableList.toImmutableList())));
304304

305-
byte[] bytes = new Gson().toJson(value).getBytes(UTF_8);
305+
byte[] bytes = new BeanToJsonConverter().convert(value).getBytes(UTF_8);
306306

307307
try {
308308
resp.setStatus(HTTP_INTERNAL_ERROR);

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

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@
2424
import com.google.common.base.StandardSystemProperty;
2525
import com.google.common.collect.ImmutableMap;
2626
import com.google.common.collect.ImmutableSet;
27-
import com.google.gson.Gson;
28-
import com.google.gson.GsonBuilder;
29-
import com.google.gson.reflect.TypeToken;
27+
import com.google.common.io.CharStreams;
3028

3129
import org.openqa.selenium.Capabilities;
3230
import org.openqa.selenium.HasCapabilities;
@@ -35,6 +33,7 @@
3533
import org.openqa.selenium.WebDriver;
3634
import org.openqa.selenium.io.TemporaryFilesystem;
3735
import org.openqa.selenium.remote.Dialect;
36+
import org.openqa.selenium.remote.JsonToBeanConverter;
3837
import org.openqa.selenium.remote.SessionId;
3938
import org.openqa.selenium.remote.http.HttpRequest;
4039
import org.openqa.selenium.remote.http.HttpResponse;
@@ -129,13 +128,11 @@ public void stop() {
129128

130129
public static class Factory implements SessionFactory {
131130

132-
private static final Type MAP_TYPE = new TypeToken<Map<String, Object>>(){}.getType();
133-
private final Gson gson;
131+
private final JsonToBeanConverter toBean = new JsonToBeanConverter();
134132
private final DriverProvider provider;
135133

136134
public Factory(DriverProvider provider) {
137135
this.provider = provider;
138-
gson = new GsonBuilder().setLenient().create();
139136
}
140137

141138
@Override
@@ -145,7 +142,7 @@ public ActiveSession apply(NewSessionPayload payload) {
145142
InputStream is = payload.getPayload().get();
146143
Reader ir = new InputStreamReader(is, UTF_8);
147144
Reader reader = new BufferedReader(ir)) {
148-
Map<String, Object> raw = gson.fromJson(reader, MAP_TYPE);
145+
Map<?, ?> raw = toBean.convert(Map.class, CharStreams.toString(reader));
149146
Object desired = raw.get("desiredCapabilities");
150147

151148
if (!(desired instanceof Map)) {

java/server/src/org/openqa/selenium/remote/server/commandhandler/Status.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ public void execute(HttpRequest req, HttpResponse resp) throws IOException {
5454
BuildInfo buildInfo = new BuildInfo();
5555
value.put("build", ImmutableMap.of(
5656
// We need to fix the BuildInfo to properly fill out these values.
57-
// "revision", buildInfo.getBuildRevision(),
58-
// "time", buildInfo.getBuildTime(),
57+
"revision", buildInfo.getBuildRevision(),
58+
"time", buildInfo.getBuildTime(),
5959
"version", buildInfo.getReleaseLabel()));
6060

6161
value.put("os", ImmutableMap.of(

0 commit comments

Comments
 (0)