JedisURIHelper.getDBIndex() now returns 0 when db index is not provided

This commit is contained in:
Jungtaek Lim
2014-09-10 20:46:57 +09:00
parent 1d29b759fe
commit bfcecd73cb
3 changed files with 15 additions and 3 deletions

View File

@@ -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();
}

View File

@@ -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;
}
}

View File

@@ -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);