Skip to content

Commit f606d06

Browse files
DATAREDIS-537 - Polishing.
Move duplicate code into single place and use ternary expressions where applicable. Use static imports in tests where applicable. Original Pull Request: #210
1 parent c7c9a8a commit f606d06

File tree

2 files changed

+39
-50
lines changed

2 files changed

+39
-50
lines changed

src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java

Lines changed: 20 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -562,26 +562,11 @@ private AbstractRedisClient createRedisClient() {
562562

563563
List<RedisURI> initialUris = new ArrayList<RedisURI>();
564564
for (RedisNode node : this.clusterConfiguration.getClusterNodes()) {
565-
566-
RedisURI redisURI = new RedisURI(node.getHost(), node.getPort(), timeout, TimeUnit.MILLISECONDS);
567-
568-
redisURI.setSsl(useSsl);
569-
redisURI.setVerifyPeer(verifyPeer);
570-
redisURI.setStartTls(startTls);
571-
572-
if (StringUtils.hasText(password)) {
573-
redisURI.setPassword(password);
574-
}
575-
576-
initialUris.add(redisURI);
565+
initialUris.add(createRedisURIAndApplySettings(node.getHost(), node.getPort()));
577566
}
578567

579-
RedisClusterClient clusterClient;
580-
if (clientResources == null) {
581-
clusterClient = RedisClusterClient.create(initialUris);
582-
} else {
583-
clusterClient = RedisClusterClient.create(clientResources, initialUris);
584-
}
568+
RedisClusterClient clusterClient = clientResources != null
569+
? RedisClusterClient.create(clientResources, initialUris) : RedisClusterClient.create(initialUris);
585570

586571
this.clusterCommandExecutor = new ClusterCommandExecutor(
587572
new LettuceClusterConnection.LettuceClusterTopologyProvider(clusterClient),
@@ -594,21 +579,8 @@ private AbstractRedisClient createRedisClient() {
594579
return pool.getClient();
595580
}
596581

597-
RedisURI.Builder builder = RedisURI.Builder.redis(hostName, port);
598-
if (password != null) {
599-
builder.withPassword(password);
600-
}
601-
602-
builder.withSsl(useSsl);
603-
builder.withVerifyPeer(verifyPeer);
604-
builder.withStartTls(startTls);
605-
builder.withTimeout(timeout, TimeUnit.MILLISECONDS);
606-
607-
if (clientResources != null) {
608-
return RedisClient.create(clientResources, builder.build());
609-
}
610-
611-
return RedisClient.create(builder.build());
582+
RedisURI uri = createRedisURIAndApplySettings(hostName, port);
583+
return clientResources != null ? RedisClient.create(clientResources, uri) : RedisClient.create(uri);
612584
}
613585

614586
private RedisURI getSentinelRedisURI() {
@@ -622,6 +594,21 @@ private RedisURI getSentinelRedisURI() {
622594
return redisUri;
623595
}
624596

597+
private RedisURI createRedisURIAndApplySettings(String host, int port) {
598+
599+
RedisURI.Builder builder = RedisURI.Builder.redis(host, port);
600+
if (StringUtils.hasText(password)) {
601+
builder.withPassword(password);
602+
}
603+
604+
builder.withSsl(useSsl);
605+
builder.withVerifyPeer(verifyPeer);
606+
builder.withStartTls(startTls);
607+
builder.withTimeout(timeout, TimeUnit.MILLISECONDS);
608+
609+
return builder.build();
610+
}
611+
625612
/**
626613
* @return true when {@link RedisSentinelConfiguration} is present.
627614
* @since 1.5

src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryUnitTests.java

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import static org.hamcrest.core.IsEqual.*;
2020
import static org.hamcrest.core.IsInstanceOf.*;
2121
import static org.junit.Assert.*;
22+
import static org.springframework.data.redis.connection.ClusterTestVariables.*;
23+
import static org.springframework.data.redis.connection.lettuce.LettuceTestClientResources.*;
2224
import static org.springframework.test.util.ReflectionTestUtils.*;
2325

2426
import java.util.Collections;
@@ -28,7 +30,6 @@
2830
import org.junit.Before;
2931
import org.junit.Test;
3032
import org.springframework.data.redis.ConnectionFactoryTracker;
31-
import org.springframework.data.redis.connection.ClusterTestVariables;
3233
import org.springframework.data.redis.connection.RedisClusterConfiguration;
3334
import org.springframework.data.redis.connection.RedisSentinelConfiguration;
3435

@@ -63,7 +64,7 @@ public void tearDown() throws Exception {
6364
public void shouldInitClientCorrectlyWhenClusterConfigPresent() {
6465

6566
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(clusterConfig);
66-
connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources());
67+
connectionFactory.setClientResources(getSharedClientResources());
6768
connectionFactory.afterPropertiesSet();
6869
ConnectionFactoryTracker.add(connectionFactory);
6970

@@ -78,7 +79,7 @@ public void shouldInitClientCorrectlyWhenClusterConfigPresent() {
7879
public void timeoutShouldBeSetCorrectlyOnClusterClient() {
7980

8081
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(clusterConfig);
81-
connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources());
82+
connectionFactory.setClientResources(getSharedClientResources());
8283
connectionFactory.setTimeout(1000);
8384
connectionFactory.afterPropertiesSet();
8485
ConnectionFactoryTracker.add(connectionFactory);
@@ -102,7 +103,7 @@ public void timeoutShouldBeSetCorrectlyOnClusterClient() {
102103
public void passwordShouldBeSetCorrectlyOnClusterClient() {
103104

104105
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(clusterConfig);
105-
connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources());
106+
connectionFactory.setClientResources(getSharedClientResources());
106107
connectionFactory.setPassword("o_O");
107108
connectionFactory.afterPropertiesSet();
108109
ConnectionFactoryTracker.add(connectionFactory);
@@ -121,12 +122,11 @@ public void passwordShouldBeSetCorrectlyOnClusterClient() {
121122
* @see DATAREDIS-524
122123
*/
123124
@Test
124-
@SuppressWarnings("unchecked")
125125
public void passwordShouldBeSetCorrectlyOnSentinelClient() {
126126

127127
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(
128128
new RedisSentinelConfiguration("mymaster", Collections.singleton("host:1234")));
129-
connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources());
129+
connectionFactory.setClientResources(getSharedClientResources());
130130
connectionFactory.setPassword("o_O");
131131
connectionFactory.afterPropertiesSet();
132132
ConnectionFactoryTracker.add(connectionFactory);
@@ -143,7 +143,6 @@ public void passwordShouldBeSetCorrectlyOnSentinelClient() {
143143
* @see DATAREDIS-462
144144
*/
145145
@Test
146-
@SuppressWarnings("unchecked")
147146
public void clusterClientShouldInitializeWithoutClientResources() {
148147

149148
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(clusterConfig);
@@ -162,7 +161,7 @@ public void clusterClientShouldInitializeWithoutClientResources() {
162161
public void sslOptionsShouldBeDisabledByDefaultOnClient() {
163162

164163
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory();
165-
connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources());
164+
connectionFactory.setClientResources(getSharedClientResources());
166165
connectionFactory.afterPropertiesSet();
167166
ConnectionFactoryTracker.add(connectionFactory);
168167

@@ -186,7 +185,7 @@ public void sslOptionsShouldBeDisabledByDefaultOnClient() {
186185
public void sslShouldBeSetCorrectlyOnClient() {
187186

188187
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory();
189-
connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources());
188+
connectionFactory.setClientResources(getSharedClientResources());
190189
connectionFactory.setUseSsl(true);
191190
connectionFactory.afterPropertiesSet();
192191
ConnectionFactoryTracker.add(connectionFactory);
@@ -209,7 +208,7 @@ public void sslShouldBeSetCorrectlyOnClient() {
209208
public void verifyPeerOptionShouldBeSetCorrectlyOnClient() {
210209

211210
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory();
212-
connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources());
211+
connectionFactory.setClientResources(getSharedClientResources());
213212
connectionFactory.setVerifyPeer(false);
214213
connectionFactory.afterPropertiesSet();
215214
ConnectionFactoryTracker.add(connectionFactory);
@@ -230,7 +229,7 @@ public void verifyPeerOptionShouldBeSetCorrectlyOnClient() {
230229
public void startTLSOptionShouldBeSetCorrectlyOnClient() {
231230

232231
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory();
233-
connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources());
232+
connectionFactory.setClientResources(getSharedClientResources());
234233
connectionFactory.setStartTls(true);
235234
connectionFactory.afterPropertiesSet();
236235
ConnectionFactoryTracker.add(connectionFactory);
@@ -250,8 +249,9 @@ public void startTLSOptionShouldBeSetCorrectlyOnClient() {
250249
@Test
251250
public void sslShouldBeSetCorrectlyOnClusterClient() {
252251

253-
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(new RedisClusterConfiguration().clusterNode(ClusterTestVariables.CLUSTER_NODE_1));
254-
connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources());
252+
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(
253+
new RedisClusterConfiguration().clusterNode(CLUSTER_NODE_1));
254+
connectionFactory.setClientResources(getSharedClientResources());
255255
connectionFactory.setUseSsl(true);
256256
connectionFactory.afterPropertiesSet();
257257
ConnectionFactoryTracker.add(connectionFactory);
@@ -272,8 +272,9 @@ public void sslShouldBeSetCorrectlyOnClusterClient() {
272272
@Test
273273
public void startTLSOptionShouldBeSetCorrectlyOnClusterClient() {
274274

275-
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(new RedisClusterConfiguration().clusterNode(ClusterTestVariables.CLUSTER_NODE_1));
276-
connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources());
275+
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(
276+
new RedisClusterConfiguration().clusterNode(CLUSTER_NODE_1));
277+
connectionFactory.setClientResources(getSharedClientResources());
277278
connectionFactory.setStartTls(true);
278279
connectionFactory.afterPropertiesSet();
279280
ConnectionFactoryTracker.add(connectionFactory);
@@ -294,8 +295,9 @@ public void startTLSOptionShouldBeSetCorrectlyOnClusterClient() {
294295
@Test
295296
public void verifyPeerTLSOptionShouldBeSetCorrectlyOnClusterClient() {
296297

297-
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(new RedisClusterConfiguration().clusterNode(ClusterTestVariables.CLUSTER_NODE_1));
298-
connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources());
298+
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(
299+
new RedisClusterConfiguration().clusterNode(CLUSTER_NODE_1));
300+
connectionFactory.setClientResources(getSharedClientResources());
299301
connectionFactory.setVerifyPeer(true);
300302
connectionFactory.afterPropertiesSet();
301303
ConnectionFactoryTracker.add(connectionFactory);

0 commit comments

Comments
 (0)