From 1312c4d4aecf1b0a5c6c97e1b7b01715b3374a7a Mon Sep 17 00:00:00 2001 From: Jonathan Leibiusky Date: Wed, 15 Sep 2010 20:17:30 -0300 Subject: [PATCH] Added DEBUG command --- src/main/java/redis/clients/jedis/Client.java | 4 ++ .../java/redis/clients/jedis/DebugParams.java | 43 +++++++++++++++++++ src/main/java/redis/clients/jedis/Jedis.java | 5 +++ .../tests/commands/ControlCommandsTest.java | 11 +++++ 4 files changed, 63 insertions(+) create mode 100644 src/main/java/redis/clients/jedis/DebugParams.java diff --git a/src/main/java/redis/clients/jedis/Client.java b/src/main/java/redis/clients/jedis/Client.java index d7c8ef4..c5d7629 100644 --- a/src/main/java/redis/clients/jedis/Client.java +++ b/src/main/java/redis/clients/jedis/Client.java @@ -596,4 +596,8 @@ public class Client extends Connection { String value) { sendCommand("LINSERT", key, where.toString(), pivot, value); } + + public void debug(DebugParams params) { + sendCommand("DEBUG", params.getCommand()); + } } \ No newline at end of file diff --git a/src/main/java/redis/clients/jedis/DebugParams.java b/src/main/java/redis/clients/jedis/DebugParams.java new file mode 100644 index 0000000..b2cfb12 --- /dev/null +++ b/src/main/java/redis/clients/jedis/DebugParams.java @@ -0,0 +1,43 @@ +package redis.clients.jedis; + +public class DebugParams { + private String[] command; + + public String[] getCommand() { + return command; + } + + private DebugParams() { + + } + + public static DebugParams SEGFAULT() { + DebugParams debugParams = new DebugParams(); + debugParams.command = new String[] { "SEGFAULT" }; + return debugParams; + } + + public static DebugParams OBJECT(String key) { + DebugParams debugParams = new DebugParams(); + debugParams.command = new String[] { "OBJECT", key }; + return debugParams; + } + + public static DebugParams SWAPIN(String key) { + DebugParams debugParams = new DebugParams(); + debugParams.command = new String[] { "SWAPIN", key }; + return debugParams; + } + + public static DebugParams RELOAD() { + DebugParams debugParams = new DebugParams(); + debugParams.command = new String[] { "RELOAD" }; + return debugParams; + } + + public static DebugParams SWAPOUT(String key) { + DebugParams debugParams = new DebugParams(); + debugParams.command = new String[] { "SWAPOUT", key }; + return debugParams; + } +} diff --git a/src/main/java/redis/clients/jedis/Jedis.java b/src/main/java/redis/clients/jedis/Jedis.java index 3bd097d..346704e 100644 --- a/src/main/java/redis/clients/jedis/Jedis.java +++ b/src/main/java/redis/clients/jedis/Jedis.java @@ -838,4 +838,9 @@ public class Jedis { client.linsert(key, where, pivot, value); return client.getIntegerReply(); } + + public String debug(DebugParams params) { + client.debug(params); + return client.getStatusCodeReply(); + } } \ No newline at end of file diff --git a/src/test/java/redis/clients/jedis/tests/commands/ControlCommandsTest.java b/src/test/java/redis/clients/jedis/tests/commands/ControlCommandsTest.java index 45f27f1..eb5479c 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/ControlCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/ControlCommandsTest.java @@ -4,6 +4,7 @@ import java.util.List; import org.junit.Test; +import redis.clients.jedis.DebugParams; import redis.clients.jedis.JedisException; import redis.clients.jedis.JedisMonitor; @@ -83,4 +84,14 @@ public class ControlCommandsTest extends JedisCommandTestBase { jedis.sync(); } + @Test + public void debug() { + jedis.set("foo", "bar"); + String resp = jedis.debug(DebugParams.OBJECT("foo")); + assertNotNull(resp); + resp = jedis.debug(DebugParams.SWAPIN("foo")); + assertNotNull(resp); + resp = jedis.debug(DebugParams.RELOAD()); + assertNotNull(resp); + } } \ No newline at end of file