Skip to content

Commit 5246a91

Browse files
committed
Support INFO command in UnifiedJedis (simplified)
1 parent 0b9833d commit 5246a91

File tree

6 files changed

+35
-75
lines changed

6 files changed

+35
-75
lines changed

src/main/java/redis/clients/jedis/CommandObjects.java

+10
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,16 @@ public final CommandObject<String> configSet(String parameter, String value) {
9292
return new CommandObject<>(commandArguments(Command.CONFIG).add(Keyword.SET).add(parameter).add(value), BuilderFactory.STRING);
9393
}
9494

95+
private final CommandObject<String> INFO_COMMAND_OBJECT = new CommandObject<>(commandArguments(Command.INFO), BuilderFactory.STRING);
96+
97+
public final CommandObject<String> info() {
98+
return INFO_COMMAND_OBJECT;
99+
}
100+
101+
public final CommandObject<String> info(String section) {
102+
return new CommandObject<>(commandArguments(Command.INFO).add(section), BuilderFactory.STRING);
103+
}
104+
95105
// Key commands
96106
public final CommandObject<Boolean> exists(String key) {
97107
return new CommandObject<>(commandArguments(Command.EXISTS).key(key), BuilderFactory.BOOLEAN);

src/main/java/redis/clients/jedis/JedisCluster.java

+10
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,16 @@ public Connection getConnectionFromSlot(int slot) {
353353
}
354354

355355
// commands
356+
@Override
357+
public String info() {
358+
throw new UnsupportedOperationException("INFO command is not supported from JedisCluster.");
359+
}
360+
361+
@Override
362+
public String info(String section) {
363+
throw new UnsupportedOperationException("INFO command is not supported from JedisCluster.");
364+
}
365+
356366
public long spublish(String channel, String message) {
357367
return executeCommand(commandObjects.spublish(channel, message));
358368
}

src/main/java/redis/clients/jedis/UnifiedJedis.java

+4-11
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
import redis.clients.jedis.search.schemafields.SchemaField;
4343
import redis.clients.jedis.timeseries.*;
4444
import redis.clients.jedis.util.IOUtils;
45-
import redis.clients.jedis.util.JedisBroadcastReplies;
4645
import redis.clients.jedis.util.JedisURIHelper;
4746
import redis.clients.jedis.util.KeyValue;
4847

@@ -334,10 +333,6 @@ public void setBroadcastAndRoundRobinConfig(JedisBroadcastAndRoundRobinConfig co
334333
this.commandObjects.setBroadcastAndRoundRobinConfig(this.broadcastAndRoundRobinConfig);
335334
}
336335

337-
public final JedisBroadcastReplies broadcastCommandDifferingReplies(CommandObject commandObject) {
338-
return executor.broadcastCommandDifferingReplies(commandObject);
339-
}
340-
341336
public Cache getCache() {
342337
return cache;
343338
}
@@ -358,14 +353,12 @@ public String configSet(String parameter, String value) {
358353
return checkAndBroadcastCommand(commandObjects.configSet(parameter, value));
359354
}
360355

361-
public final JedisBroadcastReplies info() {
362-
return executor.broadcastCommandDifferingReplies(new CommandObject(
363-
new CommandArguments(Protocol.Command.INFO), BuilderFactory.STRING));
356+
public String info() {
357+
return executeCommand(commandObjects.info());
364358
}
365359

366-
public final JedisBroadcastReplies info(String section) {
367-
return executor.broadcastCommandDifferingReplies(new CommandObject(
368-
new CommandArguments(Protocol.Command.INFO).add(section), BuilderFactory.STRING));
360+
public String info(String section) {
361+
return executeCommand(commandObjects.info(section));
369362
}
370363

371364
// Key commands

src/main/java/redis/clients/jedis/util/JedisBroadcastReplies.java

-40
This file was deleted.

src/test/java/redis/clients/jedis/commands/jedis/ClusterValuesCommandsTest.java

+5-13
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static org.hamcrest.MatcherAssert.assertThat;
44
import static org.junit.Assert.assertEquals;
55
import static org.junit.Assert.assertNull;
6+
import static org.junit.Assert.assertThrows;
67
import static org.junit.Assert.fail;
78

89
import java.util.ArrayList;
@@ -11,7 +12,6 @@
1112
import java.util.List;
1213
import java.util.Map;
1314
import java.util.Set;
14-
import org.hamcrest.Matchers;
1515
import org.junit.Test;
1616

1717
import redis.clients.jedis.BuilderFactory;
@@ -22,10 +22,10 @@
2222
import redis.clients.jedis.Protocol;
2323
import redis.clients.jedis.ScanIteration;
2424
import redis.clients.jedis.args.GeoUnit;
25+
import redis.clients.jedis.exceptions.JedisDataException;
2526
import redis.clients.jedis.params.GeoRadiusParam;
2627
import redis.clients.jedis.params.GeoRadiusStoreParam;
2728
import redis.clients.jedis.resps.ScanResult;
28-
import redis.clients.jedis.util.JedisBroadcastReplies;
2929

3030
public class ClusterValuesCommandsTest extends ClusterJedisCommandsTestBase {
3131

@@ -132,18 +132,10 @@ public void pingBroadcast() {
132132
}
133133

134134
@Test
135-
public void broadcastDifferentReplies() {
136-
JedisBroadcastReplies infoReplies = cluster.info();
137-
assertThat(infoReplies.getReplies(), Matchers.aMapWithSize(3));
138-
infoReplies.getReplies().values().forEach(infoValue -> {
139-
assertThat((String) infoValue, Matchers.notNullValue());
140-
});
135+
public void info() {
136+
assertThrows(JedisDataException.class, () -> cluster.info());
141137

142-
infoReplies = cluster.info("server");
143-
assertThat(infoReplies.getReplies(), Matchers.aMapWithSize(3));
144-
infoReplies.getReplies().values().forEach(infoValue -> {
145-
assertThat((String) infoValue, Matchers.notNullValue());
146-
});
138+
assertThrows(JedisDataException.class, () -> cluster.info("server"));
147139
}
148140

149141
@Test

src/test/java/redis/clients/jedis/commands/unified/pooled/PooledMiscellaneousTest.java

+6-11
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import redis.clients.jedis.commands.unified.UnifiedJedisCommandsTestBase;
2626
import redis.clients.jedis.exceptions.JedisDataException;
2727
import redis.clients.jedis.util.EnabledOnCommandRule;
28-
import redis.clients.jedis.util.JedisBroadcastReplies;
2928
import redis.clients.jedis.util.RedisVersionRule;
3029

3130
@RunWith(Parameterized.class)
@@ -169,15 +168,11 @@ public void broadcastWithError() {
169168
}
170169

171170
@Test
172-
public void broadcastDifferentReplies() {
173-
JedisBroadcastReplies infoReplies = jedis.info();
174-
assertThat(infoReplies.getReplies(), Matchers.aMapWithSize(1));
175-
Object infoValue = infoReplies.getReplies().values().stream().findFirst().get();
176-
assertThat((String) infoValue, Matchers.notNullValue());
177-
178-
infoReplies = jedis.info("server");
179-
assertThat(infoReplies.getReplies(), Matchers.aMapWithSize(1));
180-
infoValue = infoReplies.getReplies().values().stream().findFirst().get();
181-
assertThat((String) infoValue, Matchers.notNullValue());
171+
public void info() {
172+
String info = jedis.info();
173+
assertThat(info, Matchers.notNullValue());
174+
175+
info = jedis.info("server");
176+
assertThat(info, Matchers.notNullValue());
182177
}
183178
}

0 commit comments

Comments
 (0)