@@ -32,21 +32,21 @@ private const val DEFAULT_BIND = "127.0.0.1"
3232private const val QUORUM_SIZE = (1 / 2 ) + 1 // quorom size for one main node
3333
3434internal class RedisHighAvailabilityContextCustomizer (
35- private val config : EmbeddedRedisHighAvailability ,
36- private val portProvider : PortProvider = PortProvider ()
35+ private val config : EmbeddedRedisHighAvailability ,
36+ private val portProvider : PortProvider = PortProvider ()
3737) : ContextCustomizer {
3838
3939 private val log = LoggerFactory .getLogger(javaClass)
4040
4141 private val manuallySpecifiedPorts =
42- config.ports.filter { it != 0 }.toSet() + config.sentinels.map { it.port }.filter { it != 0 }.toSet()
42+ config.ports.filter { it != 0 }.toSet() + config.sentinels.map { it.port }.filter { it != 0 }.toSet()
4343 private val name = config.name.ifEmpty { BirdNameProvider .next() }.replace(Regex (" [^a-zA-Z0-9]" ), " " )
4444 private var nodeProvider: NodeProvider ? = null
4545 private val customizer = config.customizer.map { c -> c.createInstance() }.toList()
4646 private val executableProvider = if (config.executeInDirectory.isNotEmpty()) {
4747 val osArch = detectOSandArchitecture()
4848 val resourcePath = newProvidedVersionsMap()[osArch]
49- ? : throw UnsupportedOperationException (" Unsupported OS: $osArch " )
49+ ? : throw UnsupportedOperationException (" Unsupported OS: $osArch " )
5050 val executable = Path (config.executeInDirectory, resourcePath)
5151 ExecutableProvider {
5252 if (exists(executable)) {
@@ -91,9 +91,9 @@ internal class RedisHighAvailabilityContextCustomizer(
9191
9292 private fun createReplicas (mainNode : Pair <Node , RedisServer >): List <RedisServer > {
9393 val replicaBuilders =
94- IntStream .range( 0 , config.replicas)
95- .mapToObj { _ -> createReplicaBuilder(mainNode.first) }
96- .toList()
94+ 1 .rangeTo( config.replicas)
95+ .map { _ -> createReplicaBuilder(mainNode.first) }
96+ .toList()
9797 customizer.forEach { c -> c.customizeReplicas(replicaBuilders, config) }
9898
9999 return replicaBuilders.map { it.build() }
@@ -103,8 +103,8 @@ internal class RedisHighAvailabilityContextCustomizer(
103103 nodeProvider = nodeProvider()
104104 val nextNode = nodeProvider!! .next()
105105 val builder = RedisServer .newRedisServer()
106- .bind(nextNode.bind)
107- .port(nextNode.port)
106+ .bind(nextNode.bind)
107+ .port(nextNode.port)
108108 builder.executableProvider(executableProvider)
109109 customizer.forEach { c -> c.customizeMainNode(builder, config) }
110110 val mainNode = builder.build()
@@ -115,13 +115,13 @@ internal class RedisHighAvailabilityContextCustomizer(
115115 }
116116
117117 private fun createReplicaBuilder (
118- mainNode : Node
118+ mainNode : Node
119119 ): RedisServerBuilder {
120120 val nextNode = nodeProvider!! .next()
121121 val builder = RedisServer .newRedisServer()
122- .bind(nextNode.bind)
123- .port(nextNode.port)
124- .slaveOf(mainNode.bind, mainNode.port)
122+ .bind(nextNode.bind)
123+ .port(nextNode.port)
124+ .slaveOf(mainNode.bind, mainNode.port)
125125 builder.executableProvider(executableProvider)
126126 return builder
127127 }
@@ -151,54 +151,54 @@ internal class RedisHighAvailabilityContextCustomizer(
151151 }
152152
153153 private fun createSentinel (
154- sentinelConfig : EmbeddedRedisHighAvailability .Sentinel ,
155- mainNode : Pair <Node , RedisServer >
154+ sentinelConfig : EmbeddedRedisHighAvailability .Sentinel ,
155+ mainNode : Pair <Node , RedisServer >
156156 ): RedisSentinel {
157157 val builder = RedisSentinel .newRedisSentinel()
158- .bind(sentinelConfig.bind.ifEmpty { DEFAULT_BIND })
159- .port(if (sentinelConfig.port == 0 ) unspecifiedUnusedPort(true ) else sentinelConfig.port)
160- .setting(" sentinel monitor $name ${mainNode.first.bind} ${mainNode.first.port} $QUORUM_SIZE " )
161- .setting(" sentinel down-after-milliseconds $name ${sentinelConfig.downAfterMillis} " )
162- .setting(" sentinel failover-timeout $name ${sentinelConfig.failOverTimeoutMillis} " )
163- .setting(" sentinel parallel-syncs $name ${sentinelConfig.parallelSyncs} " )
158+ .bind(sentinelConfig.bind.ifEmpty { DEFAULT_BIND })
159+ .port(if (sentinelConfig.port == 0 ) unspecifiedUnusedPort(true ) else sentinelConfig.port)
160+ .setting(" sentinel monitor $name ${mainNode.first.bind} ${mainNode.first.port} $QUORUM_SIZE " )
161+ .setting(" sentinel down-after-milliseconds $name ${sentinelConfig.downAfterMillis} " )
162+ .setting(" sentinel failover-timeout $name ${sentinelConfig.failOverTimeoutMillis} " )
163+ .setting(" sentinel parallel-syncs $name ${sentinelConfig.parallelSyncs} " )
164164 builder.executableProvider(executableProvider)
165165 customizer.forEach { c -> c.customizeSentinels(builder, config, sentinelConfig) }
166166 return builder.build()
167167 }
168168
169169 private fun parseSentinelAddresses (redisHighAvailability : RedisCluster ): List <Pair <String , Int >> =
170- redisHighAvailability.sentinels()
171- .map { parseBindAddress(it) to it.ports().first() }
172- .toList()
170+ redisHighAvailability.sentinels()
171+ .map { parseBindAddress(it) to it.ports().first() }
172+ .toList()
173173
174174 private fun createClient (sentinelAddresses : List <Pair <String , Int >>): RedisClient {
175175 val jedisSentinelPool =
176- JedisSentinelPool (name, sentinelAddresses.map { createAddress(it.first, it.second) }.toSet())
176+ JedisSentinelPool (name, sentinelAddresses.map { createAddress(it.first, it.second) }.toSet())
177177 return RedisHighAvailabilityClient (jedisSentinelPool)
178178 }
179179
180180 private fun setSpringProperties (
181- context : ConfigurableApplicationContext ,
182- sentinelAddresses : List <Pair <String , Int >>
181+ context : ConfigurableApplicationContext ,
182+ sentinelAddresses : List <Pair <String , Int >>
183183 ) {
184184 val nodes = sentinelAddresses.joinToString(" ," ) {
185185 createAddress(
186- it.first,
187- it.second
186+ it.first,
187+ it.second
188188 )
189189 }
190190 TestPropertyValues .of(
191- mapOf (
192- " spring.data.redis.sentinel.master" to name,
193- " spring.data.redis.sentinel.nodes" to nodes
194- )
191+ mapOf (
192+ " spring.data.redis.sentinel.master" to name,
193+ " spring.data.redis.sentinel.nodes" to nodes
194+ )
195195 ).applyTo(context.environment)
196196 }
197197
198198 private fun addShutdownListener (
199- context : ConfigurableApplicationContext ,
200- redisHighAvailability : RedisCluster ,
201- client : RedisClient
199+ context : ConfigurableApplicationContext ,
200+ redisHighAvailability : RedisCluster ,
201+ client : RedisClient
202202 ) {
203203 context.addApplicationListener { event ->
204204 if (event is ContextClosedEvent ) {
@@ -235,8 +235,8 @@ internal class RedisHighAvailabilityContextCustomizer(
235235
236236 internal data class Node (val port : Int , val bind : String ) {
237237 constructor (node: RedisServer ) : this (
238- node.ports().first(),
239- parseBindAddress(node)
238+ node.ports().first(),
239+ parseBindAddress(node)
240240 )
241241 }
242242
0 commit comments