From bfcecd73cb3b56a4f9ae99dac9bc068518f62224 Mon Sep 17 00:00:00 2001 From: Jungtaek Lim Date: Wed, 10 Sep 2014 20:46:57 +0900 Subject: [PATCH] JedisURIHelper.getDBIndex() now returns 0 when db index is not provided --- src/main/java/redis/clients/jedis/BinaryJedis.java | 2 +- src/main/java/redis/clients/util/JedisURIHelper.java | 9 +++++++-- src/test/java/redis/clients/jedis/tests/JedisTest.java | 7 +++++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/redis/clients/jedis/BinaryJedis.java b/src/main/java/redis/clients/jedis/BinaryJedis.java index 5f3d089..b89fcc0 100644 --- a/src/main/java/redis/clients/jedis/BinaryJedis.java +++ b/src/main/java/redis/clients/jedis/BinaryJedis.java @@ -68,7 +68,7 @@ public class BinaryJedis implements BasicCommands, BinaryJedisCommands, } Integer dbIndex = JedisURIHelper.getDBIndex(uri); - if (dbIndex != null) { + if (dbIndex > 0) { client.select(dbIndex); client.getStatusCodeReply(); } diff --git a/src/main/java/redis/clients/util/JedisURIHelper.java b/src/main/java/redis/clients/util/JedisURIHelper.java index 027fa3a..d2039a8 100644 --- a/src/main/java/redis/clients/util/JedisURIHelper.java +++ b/src/main/java/redis/clients/util/JedisURIHelper.java @@ -14,8 +14,13 @@ public class JedisURIHelper { public static Integer getDBIndex(URI uri) { String[] pathSplit = uri.getPath().split("/", 2); if (pathSplit.length > 1) { - return Integer.parseInt(pathSplit[1]); + String dbIndexStr = pathSplit[1]; + if (dbIndexStr.isEmpty()) { + return 0; + } + return Integer.parseInt(dbIndexStr); + } else { + return 0; } - return null; } } diff --git a/src/test/java/redis/clients/jedis/tests/JedisTest.java b/src/test/java/redis/clients/jedis/tests/JedisTest.java index abec911..3b7a87f 100644 --- a/src/test/java/redis/clients/jedis/tests/JedisTest.java +++ b/src/test/java/redis/clients/jedis/tests/JedisTest.java @@ -104,6 +104,13 @@ public class JedisTest extends JedisCommandTestBase { @Test public void allowUrlWithNoDBAndNoPassword() { Jedis jedis = new Jedis("redis://localhost:6380"); + jedis.auth("foobared"); + assertEquals(jedis.getClient().getHost(), "localhost"); + assertEquals(jedis.getClient().getPort(), 6380); + assertEquals(jedis.getDB(), (Long) 0L); + + jedis = new Jedis("redis://localhost:6380/"); + jedis.auth("foobared"); assertEquals(jedis.getClient().getHost(), "localhost"); assertEquals(jedis.getClient().getPort(), 6380); assertEquals(jedis.getDB(), (Long) 0L);