Skip to content

Commit

Permalink
Support INFO command in UnifiedJedis (simplified)
Browse files Browse the repository at this point in the history
  • Loading branch information
sazzad16 committed Feb 2, 2025
1 parent 0b9833d commit 5246a91
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 75 deletions.
10 changes: 10 additions & 0 deletions src/main/java/redis/clients/jedis/CommandObjects.java
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,16 @@ public final CommandObject<String> configSet(String parameter, String value) {
return new CommandObject<>(commandArguments(Command.CONFIG).add(Keyword.SET).add(parameter).add(value), BuilderFactory.STRING);
}

private final CommandObject<String> INFO_COMMAND_OBJECT = new CommandObject<>(commandArguments(Command.INFO), BuilderFactory.STRING);

public final CommandObject<String> info() {
return INFO_COMMAND_OBJECT;
}

public final CommandObject<String> info(String section) {
return new CommandObject<>(commandArguments(Command.INFO).add(section), BuilderFactory.STRING);
}

// Key commands
public final CommandObject<Boolean> exists(String key) {
return new CommandObject<>(commandArguments(Command.EXISTS).key(key), BuilderFactory.BOOLEAN);
Expand Down
10 changes: 10 additions & 0 deletions src/main/java/redis/clients/jedis/JedisCluster.java
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,16 @@ public Connection getConnectionFromSlot(int slot) {
}

// commands
@Override
public String info() {
throw new UnsupportedOperationException("INFO command is not supported from JedisCluster.");
}

@Override
public String info(String section) {
throw new UnsupportedOperationException("INFO command is not supported from JedisCluster.");
}

public long spublish(String channel, String message) {
return executeCommand(commandObjects.spublish(channel, message));
}
Expand Down
15 changes: 4 additions & 11 deletions src/main/java/redis/clients/jedis/UnifiedJedis.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@
import redis.clients.jedis.search.schemafields.SchemaField;
import redis.clients.jedis.timeseries.*;
import redis.clients.jedis.util.IOUtils;
import redis.clients.jedis.util.JedisBroadcastReplies;
import redis.clients.jedis.util.JedisURIHelper;
import redis.clients.jedis.util.KeyValue;

Expand Down Expand Up @@ -334,10 +333,6 @@ public void setBroadcastAndRoundRobinConfig(JedisBroadcastAndRoundRobinConfig co
this.commandObjects.setBroadcastAndRoundRobinConfig(this.broadcastAndRoundRobinConfig);
}

public final JedisBroadcastReplies broadcastCommandDifferingReplies(CommandObject commandObject) {
return executor.broadcastCommandDifferingReplies(commandObject);
}

public Cache getCache() {
return cache;
}
Expand All @@ -358,14 +353,12 @@ public String configSet(String parameter, String value) {
return checkAndBroadcastCommand(commandObjects.configSet(parameter, value));
}

public final JedisBroadcastReplies info() {
return executor.broadcastCommandDifferingReplies(new CommandObject(
new CommandArguments(Protocol.Command.INFO), BuilderFactory.STRING));
public String info() {
return executeCommand(commandObjects.info());
}

public final JedisBroadcastReplies info(String section) {
return executor.broadcastCommandDifferingReplies(new CommandObject(
new CommandArguments(Protocol.Command.INFO).add(section), BuilderFactory.STRING));
public String info(String section) {
return executeCommand(commandObjects.info(section));
}

// Key commands
Expand Down
40 changes: 0 additions & 40 deletions src/main/java/redis/clients/jedis/util/JedisBroadcastReplies.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.fail;

import java.util.ArrayList;
Expand All @@ -11,7 +12,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.hamcrest.Matchers;
import org.junit.Test;

import redis.clients.jedis.BuilderFactory;
Expand All @@ -22,10 +22,10 @@
import redis.clients.jedis.Protocol;
import redis.clients.jedis.ScanIteration;
import redis.clients.jedis.args.GeoUnit;
import redis.clients.jedis.exceptions.JedisDataException;
import redis.clients.jedis.params.GeoRadiusParam;
import redis.clients.jedis.params.GeoRadiusStoreParam;
import redis.clients.jedis.resps.ScanResult;
import redis.clients.jedis.util.JedisBroadcastReplies;

public class ClusterValuesCommandsTest extends ClusterJedisCommandsTestBase {

Expand Down Expand Up @@ -132,18 +132,10 @@ public void pingBroadcast() {
}

@Test
public void broadcastDifferentReplies() {
JedisBroadcastReplies infoReplies = cluster.info();
assertThat(infoReplies.getReplies(), Matchers.aMapWithSize(3));
infoReplies.getReplies().values().forEach(infoValue -> {
assertThat((String) infoValue, Matchers.notNullValue());
});
public void info() {
assertThrows(JedisDataException.class, () -> cluster.info());

infoReplies = cluster.info("server");
assertThat(infoReplies.getReplies(), Matchers.aMapWithSize(3));
infoReplies.getReplies().values().forEach(infoValue -> {
assertThat((String) infoValue, Matchers.notNullValue());
});
assertThrows(JedisDataException.class, () -> cluster.info("server"));
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import redis.clients.jedis.commands.unified.UnifiedJedisCommandsTestBase;
import redis.clients.jedis.exceptions.JedisDataException;
import redis.clients.jedis.util.EnabledOnCommandRule;
import redis.clients.jedis.util.JedisBroadcastReplies;
import redis.clients.jedis.util.RedisVersionRule;

@RunWith(Parameterized.class)
Expand Down Expand Up @@ -169,15 +168,11 @@ public void broadcastWithError() {
}

@Test
public void broadcastDifferentReplies() {
JedisBroadcastReplies infoReplies = jedis.info();
assertThat(infoReplies.getReplies(), Matchers.aMapWithSize(1));
Object infoValue = infoReplies.getReplies().values().stream().findFirst().get();
assertThat((String) infoValue, Matchers.notNullValue());

infoReplies = jedis.info("server");
assertThat(infoReplies.getReplies(), Matchers.aMapWithSize(1));
infoValue = infoReplies.getReplies().values().stream().findFirst().get();
assertThat((String) infoValue, Matchers.notNullValue());
public void info() {
String info = jedis.info();
assertThat(info, Matchers.notNullValue());

info = jedis.info("server");
assertThat(info, Matchers.notNullValue());
}
}

0 comments on commit 5246a91

Please sign in to comment.