Skip to content

Commit

Permalink
[java] removed the guava reference from bidi package
Browse files Browse the repository at this point in the history
  • Loading branch information
joerg1985 committed Oct 17, 2023
1 parent a07f267 commit dcaeb15
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 16 deletions.
2 changes: 0 additions & 2 deletions java/src/org/openqa/selenium/bidi/BUILD.bazel
@@ -1,4 +1,3 @@
load("@rules_jvm_external//:defs.bzl", "artifact")
load("//java:defs.bzl", "java_library")

AUGMENTER_SRCS = [
Expand Down Expand Up @@ -41,6 +40,5 @@ java_library(
"//java/src/org/openqa/selenium:core",
"//java/src/org/openqa/selenium/json",
"//java/src/org/openqa/selenium/remote/http",
artifact("com.google.guava:guava"),
],
)
24 changes: 12 additions & 12 deletions java/src/org/openqa/selenium/bidi/Connection.java
Expand Up @@ -22,11 +22,11 @@
import static org.openqa.selenium.json.Json.MAP_TYPE;
import static org.openqa.selenium.remote.http.HttpMethod.GET;

import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import java.io.Closeable;
import java.io.StringReader;
import java.time.Duration;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
Expand Down Expand Up @@ -70,7 +70,7 @@ public class Connection implements Closeable {
private final Map<Long, Consumer<Either<Throwable, JsonInput>>> methodCallbacks =
new ConcurrentHashMap<>();
private final ReadWriteLock callbacksLock = new ReentrantReadWriteLock(true);
private final Multimap<Event<?>, Consumer<?>> eventCallbacks = HashMultimap.create();
private final Map<Event<?>, List<Consumer<?>>> eventCallbacks = new HashMap<>();
private final HttpClient client;
private final AtomicBoolean underlyingSocketClosed;

Expand Down Expand Up @@ -180,7 +180,7 @@ public <X> void addListener(Event<X> event, Consumer<X> handler) {
Lock lock = callbacksLock.writeLock();
lock.lock();
try {
eventCallbacks.put(event, handler);
eventCallbacks.computeIfAbsent(event, (key) -> new ArrayList<>()).add(handler);
} finally {
lock.unlock();
}
Expand All @@ -190,7 +190,7 @@ public <X> void clearListener(Event<X> event) {
Lock lock = callbacksLock.writeLock();
lock.lock();
try {
eventCallbacks.removeAll(event);
eventCallbacks.remove(event);
} finally {
lock.unlock();
}
Expand Down Expand Up @@ -310,7 +310,7 @@ private void handleEventResponse(Map<String, Object> rawDataMap) {
"Method"
+ rawDataMap.get("method")
+ "called with"
+ eventCallbacks.keySet().size()
+ eventCallbacks.size()
+ "callbacks available");
Lock lock = callbacksLock.readLock();
// A waiting writer will block a reader to enter the lock, even if there are currently other
Expand All @@ -322,35 +322,35 @@ private void handleEventResponse(Map<String, Object> rawDataMap) {
lock.lock();
}
try {
eventCallbacks.keySet().stream()
eventCallbacks.entrySet().stream()
.filter(
event -> {
LOG.log(
getDebugLogLevel(),
"Matching {0} with {1}",
new Object[] {rawDataMap.get("method"), event.getMethod()});
return rawDataMap.get("method").equals(event.getMethod());
new Object[] {rawDataMap.get("method"), event.getKey().getMethod()});
return rawDataMap.get("method").equals(event.getKey().getMethod());
})
.forEach(
event -> {
Map<String, Object> params = (Map<String, Object>) rawDataMap.get("params");
Object value = null;
if (params != null) {
value = event.getMapper().apply(params);
value = event.getKey().getMapper().apply(params);
}
if (value == null) {
return;
}

final Object finalValue = value;

for (Consumer<?> action : eventCallbacks.get(event)) {
for (Consumer<?> action : event.getValue()) {
@SuppressWarnings("unchecked")
Consumer<Object> obj = (Consumer<Object>) action;
LOG.log(
getDebugLogLevel(),
"Calling callback for {0} using {1} being passed {2}",
new Object[] {event, obj, finalValue});
new Object[] {event.getKey(), obj, finalValue});
obj.accept(finalValue);
}
});
Expand Down
2 changes: 1 addition & 1 deletion java/src/org/openqa/selenium/devtools/Connection.java
Expand Up @@ -272,7 +272,7 @@ private void handle(CharSequence data) {
LOG.log(
getDebugLogLevel(),
"Method {0} called with {1} callbacks available",
new Object[] {raw.get("method"), eventCallbacks.keySet().size()});
new Object[] {raw.get("method"), eventCallbacks.size()});
Lock lock = callbacksLock.readLock();
// A waiting writer will block a reader to enter the lock, even if there are currently other
// readers holding the lock. TryLock will bypass the waiting writers and acquire the read
Expand Down
1 change: 0 additions & 1 deletion java/src/org/openqa/selenium/manager/BUILD.bazel
@@ -1,4 +1,3 @@
load("@rules_jvm_external//:defs.bzl", "artifact")
load("//common:defs.bzl", "copy_file")
load("//java:defs.bzl", "java_export")
load("//java:version.bzl", "SE_VERSION")
Expand Down

0 comments on commit dcaeb15

Please sign in to comment.