Skip to content

Commit c402a20

Browse files
committed
Refactor and fix compiler warnings in JedisExtension.
1 parent 4a47976 commit c402a20

File tree

1 file changed

+23
-21
lines changed

1 file changed

+23
-21
lines changed

src/test/java/org/springframework/data/redis/test/extension/JedisExtension.java

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
* callbacks. The following resource types are supported by this extension:
4646
* <ul>
4747
* <li>{@link Jedis} (singleton)</li>
48-
* <li>{@link JediCluster} (singleton)</li>
48+
* <li>{@link JedisCluster} (singleton)</li>
4949
* </ul>
5050
*
5151
* <pre class="code">
@@ -66,6 +66,7 @@
6666
* is managed by this extension.
6767
*
6868
* @author Mark Paluch
69+
* @author John Blum
6970
* @see ParameterResolver
7071
* @see BeforeEachCallback
7172
*/
@@ -86,18 +87,14 @@ public boolean supportsParameter(ParameterContext parameterContext, ExtensionCon
8687
}
8788

8889
/**
89-
* Attempt to resolve the {@code requestedResourceType}.
90-
*
91-
* @param extensionContext
92-
* @param requestedResourceType
93-
* @param <T>
94-
* @return
90+
* Attempt to resolve the {@link Class requestedResourceType}.
9591
*/
92+
@SuppressWarnings("unchecked")
9693
public <T> T resolve(ExtensionContext extensionContext, Class<T> requestedResourceType) {
9794

9895
ExtensionContext.Store store = getStore(extensionContext);
9996

100-
return (T) store.getOrComputeIfAbsent(requestedResourceType, it -> findSupplier(requestedResourceType).get());
97+
return (T) store.getOrComputeIfAbsent(requestedResourceType, it -> doGetInstance(requestedResourceType));
10198
}
10299

103100
@Override
@@ -111,6 +108,10 @@ public Object resolveParameter(ParameterContext parameterContext, ExtensionConte
111108
return store.getOrComputeIfAbsent(parameter.getType(), it -> doGetInstance(parameterizedType));
112109
}
113110

111+
private Object doGetInstance(Type parameterizedType) {
112+
return findSupplier(parameterizedType).get();
113+
}
114+
114115
@SuppressWarnings("unchecked")
115116
private static Supplier<Object> findSupplier(Type type) {
116117

@@ -120,30 +121,26 @@ private static Supplier<Object> findSupplier(Type type) {
120121

121122
ResolvableType providedType = ResolvableType.forType(it.getClass()).as(Supplier.class).getGeneric(0);
122123

123-
if (requested.isAssignableFrom(providedType)) {
124-
return true;
125-
}
126-
return false;
124+
return requested.isAssignableFrom(providedType);
125+
127126
}).findFirst().orElseThrow(() -> new NoSuchElementException("Cannot find a factory for " + type));
128127

129128
return (Supplier) supplier;
130129
}
131130

132-
private Object doGetInstance(Type parameterizedType) {
133-
return findSupplier(parameterizedType).get();
134-
}
135-
136131
private ExtensionContext.Store getStore(ExtensionContext extensionContext) {
137132
return extensionContext.getStore(NAMESPACE);
138133
}
139134

140135
static class ResourceFunction {
141136

137+
final Function<Object, Object> function;
138+
142139
final ResolvableType dependsOn;
143140
final ResolvableType provides;
144-
final Function<Object, Object> function;
145141

146142
public ResourceFunction(ResolvableType dependsOn, ResolvableType provides, Function<?, ?> function) {
143+
147144
this.dependsOn = dependsOn;
148145
this.provides = provides;
149146
this.function = (Function) function;
@@ -155,9 +152,11 @@ enum JedisSupplier implements Supplier<Jedis> {
155152
INSTANCE;
156153

157154
final Lazy<Jedis> lazy = Lazy.of(() -> {
155+
158156
Jedis client = new Jedis(SettingsUtils.getHost(), SettingsUtils.getPort());
159157

160-
ShutdownQueue.INSTANCE.register(client);
158+
ShutdownQueue.register(client);
159+
161160
return client;
162161
});
163162

@@ -172,9 +171,13 @@ enum JedisClusterSupplier implements Supplier<JedisCluster> {
172171
INSTANCE;
173172

174173
final Lazy<JedisCluster> lazy = Lazy.of(() -> {
175-
JedisCluster client = new JedisCluster(new HostAndPort(SettingsUtils.getHost(), SettingsUtils.getClusterPort()));
176174

177-
ShutdownQueue.INSTANCE.register(client);
175+
HostAndPort hostAndPort = new HostAndPort(SettingsUtils.getHost(), SettingsUtils.getClusterPort());
176+
177+
JedisCluster client = new JedisCluster(hostAndPort);
178+
179+
ShutdownQueue.register(client);
180+
178181
return client;
179182
});
180183

@@ -183,5 +186,4 @@ public JedisCluster get() {
183186
return lazy.get();
184187
}
185188
}
186-
187189
}

0 commit comments

Comments
 (0)