17
17
18
18
package org .openqa .selenium .grid .data ;
19
19
20
- import com .google .common .collect .ImmutableMap ;
21
- import com .google .common .collect .ImmutableSet ;
22
20
import org .openqa .selenium .Capabilities ;
23
21
import org .openqa .selenium .internal .Require ;
24
22
import org .openqa .selenium .json .JsonInput ;
25
23
import org .openqa .selenium .json .TypeToken ;
26
24
27
25
import java .net .URI ;
28
26
import java .time .Instant ;
27
+ import java .util .HashSet ;
29
28
import java .util .Map ;
30
29
import java .util .Objects ;
31
30
import java .util .Set ;
31
+ import java .util .TreeMap ;
32
+
33
+ import static java .util .Collections .unmodifiableMap ;
34
+ import static java .util .Collections .unmodifiableSet ;
32
35
33
36
public class NodeStatus {
34
37
@@ -49,14 +52,8 @@ public NodeStatus(
49
52
this .maxSessionCount = Require .positive ("Max session count" ,
50
53
maxSessionCount ,
51
54
"Make sure that a driver is available on $PATH" );
52
- this .slots = ImmutableSet . copyOf ( Require .nonNull ("Slots" , slots ));
55
+ this .slots = unmodifiableSet ( new HashSet <>( Require .nonNull ("Slots" , slots ) ));
53
56
this .availability = Require .nonNull ("Availability" , availability );
54
-
55
- ImmutableSet .Builder <Session > sessions = ImmutableSet .builder ();
56
-
57
- for (Slot slot : slots ) {
58
- slot .getSession ().ifPresent (sessions ::add );
59
- }
60
57
}
61
58
62
59
public boolean hasCapability (Capabilities caps ) {
@@ -131,13 +128,14 @@ public int hashCode() {
131
128
}
132
129
133
130
private Map <String , Object > toJson () {
134
- return new ImmutableMap .Builder <String , Object >()
135
- .put ("id" , nodeId )
136
- .put ("uri" , externalUri )
137
- .put ("maxSessions" , maxSessionCount )
138
- .put ("slots" , slots )
139
- .put ("availability" , availability )
140
- .build ();
131
+ Map <String , Object > toReturn = new TreeMap <>();
132
+ toReturn .put ("id" , nodeId );
133
+ toReturn .put ("uri" , externalUri );
134
+ toReturn .put ("maxSessions" , maxSessionCount );
135
+ toReturn .put ("slots" , slots );
136
+ toReturn .put ("availability" , availability );
137
+
138
+ return unmodifiableMap (toReturn );
141
139
}
142
140
143
141
public static NodeStatus fromJson (JsonInput input ) {
0 commit comments