1616package org .jnosql .diana .redis .key ;
1717
1818
19+ import org .jnosql .diana .api .Configurations ;
1920import org .jnosql .diana .api .Settings ;
2021import org .jnosql .diana .api .SettingsBuilder ;
2122import org .jnosql .diana .api .key .KeyValueConfiguration ;
2223import org .jnosql .diana .driver .ConfigurationReader ;
2324import redis .clients .jedis .JedisPool ;
2425import redis .clients .jedis .JedisPoolConfig ;
2526
26- import java .util .HashMap ;
2727import java .util .Map ;
2828import java .util .Objects ;
2929
30+ import static java .util .Arrays .asList ;
31+
3032/**
3133 * The redis implementation of {@link KeyValueConfiguration} whose returns {@link RedisBucketManagerFactory}.
3234 * It tries to read diana-redis.properties file.
4446public final class RedisConfiguration implements KeyValueConfiguration <RedisBucketManagerFactory > {
4547
4648 private static final String FILE_CONFIGURATION = "diana-redis.properties" ;
47- public static final String HOST = "redis-master-host" ;
48- public static final String PORT = "redis-master-port" ;
49- public static final String TIMEOUT = "redis-timeout" ;
50- public static final String PASSWORD = "redis-password" ;
51- public static final String DATABASE = "redis-database" ;
52- public static final String CLIENT_NAME = "redis-clientName" ;
53- public static final String MAX_TOTAL = "redis-configuration-max-total" ;
54- public static final String MAX_IDLE = "redis-configuration-max-idle" ;
55- public static final String MIN_IDLE = "redis-configuration-min-idle" ;
56- public static final String MAX_WAIT_MILLIS = "redis-configuration-max--wait-millis" ;
49+ private static final int DEFAULT_PORT = 6379 ;
50+ private static final int DEFAULT_TIMEOUT = 2000 ;
51+ private static final int DEFAULT_DATABASE = 0 ;
52+ private static final String DEFAULT_HOST = "localhost" ;
53+ private static final int DEFAULT_MAX_TOTAL = 1000 ;
54+ private static final int DEFAULT_MAX_IDLE = 10 ;
55+ private static final int DEFAULT_MIN_IDLE = 1 ;
56+ private static final int DEFAULT_MAX_WAIT_MILLIS = 3000 ;
5757
5858 /**
5959 * Creates a {@link RedisConfiguration} from map configuration
@@ -70,25 +70,54 @@ public RedisBucketManagerFactory getManagerFactory(Map<String, String> configura
7070
7171 private JedisPool getJedisPool (Settings settings , JedisPoolConfig poolConfig ) {
7272
73- String localhost = settings .get (HOST ).map (Object ::toString ).orElse ("localhost" );
74- Integer port = settings .get (PORT ).map (Object ::toString ).map (Integer ::parseInt ).orElse (6379 );
75- Integer timeout = settings .get (TIMEOUT ).map (Object ::toString ).map (Integer ::parseInt ).orElse (2000 );
76- String password = settings .get (PASSWORD ).map (Object ::toString ).orElse (null );
77- Integer database = settings .get (DATABASE ).map (Object ::toString ).map (Integer ::parseInt ).orElse (0 );
78- ;
79- String clientName = settings .get (CLIENT_NAME ).map (Object ::toString ).orElse (null );
73+ String localhost = settings .get (asList (OldRedisConfigurations .HOST .get (),
74+ RedisConfigurations .HOST .get (), Configurations .HOST .get ()))
75+ .map (Object ::toString ).orElse (DEFAULT_HOST );
76+
77+ Integer port = settings .get (asList (OldRedisConfigurations .PORT .get (),
78+ RedisConfigurations .PORT .get ()))
79+ .map (Object ::toString ).map (Integer ::parseInt )
80+ .orElse (DEFAULT_PORT );
81+
82+ Integer timeout = settings .get (asList (OldRedisConfigurations .TIMEOUT .get (),
83+ RedisConfigurations .TIMEOUT .get ()))
84+ .map (Object ::toString ).map (Integer ::parseInt )
85+ .orElse (DEFAULT_TIMEOUT );
86+
87+ String password = settings .get (asList (OldRedisConfigurations .PASSWORD .get (),
88+ RedisConfigurations .PASSWORD .get (), Configurations .PASSWORD .get ()))
89+ .map (Object ::toString ).orElse (null );
90+ Integer database = settings .get (asList (OldRedisConfigurations .DATABASE .get (),
91+ RedisConfigurations .DATABASE .get ()))
92+ .map (Object ::toString ).map (Integer ::parseInt )
93+ .orElse (DEFAULT_DATABASE );
94+
95+ String clientName = settings .get (asList (OldRedisConfigurations .CLIENT_NAME .get (),
96+ RedisConfigurations .CLIENT_NAME .get ()))
97+ .map (Object ::toString ).orElse (null );
8098 return new JedisPool (poolConfig , localhost , port , timeout , password , database , clientName );
8199 }
82100
83101 private JedisPoolConfig getJedisPoolConfig (Settings settings ) {
84102 JedisPoolConfig poolConfig = new JedisPoolConfig ();
85103
86104
87- poolConfig .setMaxTotal (settings .get (MAX_TOTAL ).map (Object ::toString ).map (Integer ::parseInt ).orElse (1000 ));
88- poolConfig .setMaxIdle (settings .get (MAX_IDLE ).map (Object ::toString ).map (Integer ::parseInt ).orElse (10 ));
89- poolConfig .setMinIdle (settings .get (MIN_IDLE ).map (Object ::toString ).map (Integer ::parseInt ).orElse (1 ));
90- poolConfig .setMaxWaitMillis (settings .get (MAX_WAIT_MILLIS ).map (Object ::toString ).map (Integer ::parseInt )
91- .orElse (3000 ));
105+ poolConfig .setMaxTotal (settings .get (asList (OldRedisConfigurations .MAX_TOTAL .get (),
106+ RedisConfigurations .MAX_TOTAL .get ())).map (Object ::toString ).map (Integer ::parseInt )
107+ .orElse (DEFAULT_MAX_TOTAL ));
108+
109+ poolConfig .setMaxIdle (settings .get (asList (OldRedisConfigurations .MAX_IDLE .get (),
110+ RedisConfigurations .MAX_IDLE .get ()))
111+ .map (Object ::toString ).map (Integer ::parseInt ).orElse (DEFAULT_MAX_IDLE ));
112+
113+ poolConfig .setMinIdle ( settings .get (asList (OldRedisConfigurations .MIN_IDLE .get (),
114+ RedisConfigurations .MIN_IDLE .get ()))
115+ .map (Object ::toString ).map (Integer ::parseInt ).orElse (DEFAULT_MIN_IDLE ));
116+
117+ poolConfig .setMaxWaitMillis (settings .get (asList (OldRedisConfigurations .MAX_WAIT_MILLIS .get (),
118+ RedisConfigurations .MAX_WAIT_MILLIS .get ()))
119+ .map (Object ::toString ).map (Integer ::parseInt )
120+ .orElse (DEFAULT_MAX_WAIT_MILLIS ));
92121 return poolConfig ;
93122 }
94123
0 commit comments