12
12
import java .util .Collection ;
13
13
import java .util .Collections ;
14
14
import java .util .HashMap ;
15
- import java .util .List ;
15
+ import java .util .HashSet ;
16
16
import java .util .Map ;
17
17
import java .util .Optional ;
18
+ import java .util .Set ;
18
19
import java .util .function .Function ;
19
20
import java .util .function .UnaryOperator ;
20
21
import java .util .stream .Collectors ;
@@ -35,9 +36,9 @@ public class VaultConfigSource implements ConfigSource {
35
36
private static final String PATHS_SEPARATOR = ":" ;
36
37
37
38
private final VaultInvoker vault ;
38
- private final List <String > secretsPaths ;
39
+ private final Collection <String > secretsPaths ;
39
40
40
- private VaultConfigSource (VaultInvoker vault , List <String > secretsPaths ) {
41
+ private VaultConfigSource (VaultInvoker vault , Collection <String > secretsPaths ) {
41
42
this .vault = vault ;
42
43
this .secretsPaths = new ArrayList <>(secretsPaths );
43
44
}
@@ -72,13 +73,14 @@ public static final class Builder {
72
73
73
74
private VaultInvoker invoker ;
74
75
75
- private List <String > secretsPaths =
76
+ private Set <String > secretsPaths =
76
77
Optional .ofNullable (
77
78
Optional .ofNullable (ENVIRONMENT_LOADER .loadVariable ("VAULT_SECRETS_PATH" ))
78
79
.orElse (ENVIRONMENT_LOADER .loadVariable ("VAULT_SECRETS_PATHS" )))
79
80
.map (s -> s .split (PATHS_SEPARATOR ))
80
81
.map (Arrays ::asList )
81
- .orElseGet (ArrayList ::new );
82
+ .map (HashSet ::new )
83
+ .orElseGet (HashSet ::new );
82
84
83
85
private Builder () {}
84
86
@@ -120,11 +122,10 @@ public Builder secretsPaths(Collection<String> secretsPaths) {
120
122
return this ;
121
123
}
122
124
123
- private static List <String > toSecretsPaths (Collection <String > secretsPaths ) {
125
+ private static Set <String > toSecretsPaths (Collection <String > secretsPaths ) {
124
126
return secretsPaths .stream ()
125
127
.flatMap (s -> Arrays .stream (s .split (PATHS_SEPARATOR )))
126
- .distinct ()
127
- .collect (Collectors .toList ());
128
+ .collect (Collectors .toSet ());
128
129
}
129
130
130
131
public Builder invoker (VaultInvoker invoker ) {
0 commit comments