29
29
import com .datastax .oss .driver .api .core .session .Session ;
30
30
import com .datastax .oss .driver .api .core .session .SessionBuilder ;
31
31
import com .datastax .oss .driver .api .testinfra .CassandraResourceRule ;
32
+ import com .datastax .oss .driver .internal .core .loadbalancing .helper .NodeFilterToDistanceEvaluatorAdapter ;
32
33
import java .lang .reflect .Method ;
33
34
import java .util .concurrent .atomic .AtomicInteger ;
34
35
import java .util .function .Predicate ;
@@ -130,34 +131,34 @@ public static <SessionT extends Session> SessionT newSession(
130
131
return newSession (cassandraResourceRule , keyspace , null , null , null , loader );
131
132
}
132
133
133
- private static SessionBuilder builder (
134
+ private static < SessionT extends Session > SessionBuilder <?, SessionT > builder (
134
135
CassandraResourceRule cassandraResource ,
135
136
CqlIdentifier keyspace ,
136
137
NodeStateListener nodeStateListener ,
137
138
SchemaChangeListener schemaChangeListener ,
138
139
Predicate <Node > nodeFilter ) {
139
- SessionBuilder builder =
140
- baseBuilder ()
141
- .addContactEndPoints (cassandraResource .getContactPoints ())
142
- .withKeyspace (keyspace )
143
- .withNodeStateListener (nodeStateListener )
144
- .withSchemaChangeListener (schemaChangeListener );
140
+ SessionBuilder <?, SessionT > builder = baseBuilder ();
141
+ builder
142
+ .addContactEndPoints (cassandraResource .getContactPoints ())
143
+ .withKeyspace (keyspace )
144
+ .withNodeStateListener (nodeStateListener )
145
+ .withSchemaChangeListener (schemaChangeListener );
145
146
if (nodeFilter != null ) {
146
- builder = builder . withNodeFilter ( nodeFilter );
147
+ builder . withNodeDistanceEvaluator ( new NodeFilterToDistanceEvaluatorAdapter ( nodeFilter ) );
147
148
}
148
149
return builder ;
149
150
}
150
151
151
- @ SuppressWarnings ({"unchecked" , " TypeParameterUnusedInFormals" })
152
+ @ SuppressWarnings ({"TypeParameterUnusedInFormals" })
152
153
public static <SessionT extends Session > SessionT newSession (
153
154
CassandraResourceRule cassandraResource ,
154
155
CqlIdentifier keyspace ,
155
156
NodeStateListener nodeStateListener ,
156
157
SchemaChangeListener schemaChangeListener ,
157
158
Predicate <Node > nodeFilter ) {
158
- SessionBuilder builder =
159
+ SessionBuilder <?, SessionT > builder =
159
160
builder (cassandraResource , keyspace , nodeStateListener , schemaChangeListener , nodeFilter );
160
- return ( SessionT ) builder .build ();
161
+ return builder .build ();
161
162
}
162
163
163
164
@ SuppressWarnings ({"unchecked" , "TypeParameterUnusedInFormals" })
@@ -168,7 +169,7 @@ public static <SessionT extends Session> SessionT newSession(
168
169
SchemaChangeListener schemaChangeListener ,
169
170
Predicate <Node > nodeFilter ,
170
171
DriverConfigLoader loader ) {
171
- SessionBuilder builder =
172
+ SessionBuilder <?, SessionT > builder =
172
173
builder (cassandraResource , keyspace , nodeStateListener , schemaChangeListener , nodeFilter );
173
174
return (SessionT ) builder .withConfigLoader (loader ).build ();
174
175
}
0 commit comments