From ec919dd40099d0bc8668714c5b33c839c05a933e Mon Sep 17 00:00:00 2001 From: Ivan Akimov Date: Sun, 10 May 2026 21:44:57 +0400 Subject: [PATCH] Deprecate duplicate String properties converter --- .../convert/StringToPropertiesConverter.java | 13 +++---------- .../connection/convert/ConvertersUnitTests.java | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/springframework/data/redis/connection/convert/StringToPropertiesConverter.java b/src/main/java/org/springframework/data/redis/connection/convert/StringToPropertiesConverter.java index 42c74dc54f..3488a879a2 100644 --- a/src/main/java/org/springframework/data/redis/connection/convert/StringToPropertiesConverter.java +++ b/src/main/java/org/springframework/data/redis/connection/convert/StringToPropertiesConverter.java @@ -15,29 +15,22 @@ */ package org.springframework.data.redis.connection.convert; -import java.io.StringReader; import java.util.Properties; import org.springframework.core.convert.converter.Converter; -import org.springframework.data.redis.RedisSystemException; /** * Converts Strings to {@link Properties} * * @author Jennifer Hickey * @author Christoph Strobl + * @deprecated since 4.1, use {@link Converters#stringToProps()} or {@link Converters#toProperties(String)} instead. */ +@Deprecated(since = "4.1") public class StringToPropertiesConverter implements Converter { @Override public Properties convert(String source) { - - Properties info = new Properties(); - try (StringReader stringReader = new StringReader(source)) { - info.load(stringReader); - } catch (Exception ex) { - throw new RedisSystemException("Cannot read Redis info", ex); - } - return info; + return Converters.toProperties(source); } } diff --git a/src/test/java/org/springframework/data/redis/connection/convert/ConvertersUnitTests.java b/src/test/java/org/springframework/data/redis/connection/convert/ConvertersUnitTests.java index cdc88afb78..2a7f3b6cb3 100644 --- a/src/test/java/org/springframework/data/redis/connection/convert/ConvertersUnitTests.java +++ b/src/test/java/org/springframework/data/redis/connection/convert/ConvertersUnitTests.java @@ -18,6 +18,7 @@ import static org.assertj.core.api.Assertions.*; import java.util.Iterator; +import java.util.Properties; import java.util.stream.Stream; import org.junit.jupiter.api.Test; @@ -77,6 +78,19 @@ class ConvertersUnitTests { private static final String CLUSTER_NODE_WITH_SINGLE_IPV4_HOSTNAME = "3765733728631672640db35fd2f04743c03119c6 10.180.0.33:11003@16379,hostname1 master - 0 1708041426947 2 connected 0-5460"; + @Test // GH-3020 + void stringToPropsShouldConvertRedisInfoToProperties() { + + Properties properties = Converters.stringToProps().convert(""" + # Server + redis_version:7.4.1 + connected_clients:2 + """); + + assertThat(properties).containsEntry("redis_version", "7.4.1") // + .containsEntry("connected_clients", "2"); + } + @Test // DATAREDIS-315 void toSetOfRedis30ClusterNodesShouldConvertSingleStringNodesResponseCorrectly() {