From 27d7e5dd0b856997db02a004fde9c92a7ea29d62 Mon Sep 17 00:00:00 2001 From: Costin Leau Date: Wed, 23 May 2012 18:38:23 +0300 Subject: [PATCH] ValueOps#increment properly handles negative vals DATAREDIS-88 --- .../data/redis/core/DefaultValueOperations.java | 6 ------ .../springframework/data/redis/core/TemplateTest.java | 11 +++++++++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/springframework/data/redis/core/DefaultValueOperations.java b/src/main/java/org/springframework/data/redis/core/DefaultValueOperations.java index 133158b63..8d6532036 100644 --- a/src/main/java/org/springframework/data/redis/core/DefaultValueOperations.java +++ b/src/main/java/org/springframework/data/redis/core/DefaultValueOperations.java @@ -73,10 +73,6 @@ class DefaultValueOperations extends AbstractOperations implements V return connection.decr(rawKey); } - if (delta < 0) { - return connection.decrBy(rawKey, delta); - } - return connection.incrBy(rawKey, delta); } }, true); @@ -109,8 +105,6 @@ class DefaultValueOperations extends AbstractOperations implements V return deserializeString(rawReturn); } - @SuppressWarnings("unchecked") - public List multiGet(Collection keys) { if (keys.isEmpty()) { return Collections.emptyList(); diff --git a/src/test/java/org/springframework/data/redis/core/TemplateTest.java b/src/test/java/org/springframework/data/redis/core/TemplateTest.java index 5aac04dc4..3d8b310d6 100644 --- a/src/test/java/org/springframework/data/redis/core/TemplateTest.java +++ b/src/test/java/org/springframework/data/redis/core/TemplateTest.java @@ -15,6 +15,7 @@ */ package org.springframework.data.redis.core; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.Collection; @@ -56,4 +57,14 @@ public class TemplateTest { public void testKeys() throws Exception { assertTrue(template.keys("*") != null); } + + @Test + public void testIncrement() throws Exception { + StringRedisTemplate sr = new StringRedisTemplate(template.getConnectionFactory()); + String key = "test.template.inc"; + ValueOperations valueOps = sr.opsForValue(); + valueOps.set(key, "10"); + valueOps.increment(key, -10); + assertEquals(0, Integer.valueOf(valueOps.get(key)).intValue()); + } }