2323import java .util .HashMap ;
2424import java .util .List ;
2525import java .util .Map ;
26+ import java .util .Objects ;
2627import java .util .Properties ;
2728import java .util .stream .Stream ;
2829
@@ -44,16 +45,15 @@ public DockerSecretsPropertySourceFactory(ConfigurableEnvironment environment)
4445 {
4546 Stream <String > passwordProperties = environment .getPropertySources ().stream ()
4647 .filter (s -> s instanceof EnumerablePropertySource ).map (s -> (EnumerablePropertySource <?>) s )
47- .flatMap (s -> List .of (s .getPropertyNames ()).stream ()).filter (key -> key != null )
48- .filter (key -> key .toLowerCase ().endsWith (".password.file" )
49- || key .toLowerCase ().endsWith ("_password_file" ) || key .toLowerCase ().endsWith (".secret.file" )
50- || key .toLowerCase ().endsWith ("_secret_file" ));
48+ .flatMap (s -> List .of (s .getPropertyNames ()).stream ()).filter (Objects ::nonNull )
49+ .filter (p -> p .toLowerCase ().endsWith (".password.file" ) || p .toLowerCase ().endsWith ("_password_file" )
50+ || p .toLowerCase ().endsWith (".secret.file" ) || p .toLowerCase ().endsWith ("_secret_file" ));
5151
52- passwordProperties .forEach (key ->
52+ passwordProperties .forEach (property ->
5353 {
54- String fileName = environment .getProperty (key , String .class , null );
55- secretFilesByFinalPropertyName . put ( key . toLowerCase (). replace ( '_' , '.' ). substring ( 0 , key . length () - 5 ),
56- fileName );
54+ String fileName = environment .getProperty (property , String .class , null );
55+ secretFilesByFinalPropertyName
56+ . put ( property . toLowerCase (). replace ( '_' , '.' ). substring ( 0 , property . length () - 5 ), fileName );
5757 });
5858
5959 this .environment = environment ;
@@ -71,29 +71,29 @@ private PropertiesPropertySource getPropertiesFromDockerSecrets()
7171 {
7272 Properties properties = new Properties ();
7373
74- secretFilesByFinalPropertyName .forEach ((key , secretsFile ) ->
74+ secretFilesByFinalPropertyName .forEach ((property , secretsFile ) ->
7575 {
76- String readSecretsFileValue = readSecretsFile (key , secretsFile );
76+ String readSecretsFileValue = readSecretsFile (property , secretsFile );
7777 if (readSecretsFileValue != null )
78- properties .put (key , readSecretsFileValue );
78+ properties .put (property , readSecretsFileValue );
7979 });
8080
8181 return new PropertiesPropertySource ("docker-secrets" , properties );
8282 }
8383
84- private String readSecretsFile (String key , String secretsFile )
84+ private String readSecretsFile (String property , String secretsFile )
8585 {
8686 if (secretsFile == null )
8787 {
88- logger .debug ("Secrets file for property {} not defined" , key );
88+ logger .debug ("Secrets file for property {} not defined" , property );
8989 return null ;
9090 }
9191
9292 Path secretsFilePath = Paths .get (secretsFile );
9393
9494 if (!Files .isReadable (secretsFilePath ))
9595 {
96- logger .warn ("Secrets file at {} for property {} not readable" , secretsFilePath .toString (), key );
96+ logger .warn ("Secrets file at {} for property {} not readable" , secretsFilePath .toString (), property );
9797 return null ;
9898 }
9999
@@ -103,19 +103,19 @@ private String readSecretsFile(String key, String secretsFile)
103103
104104 if (secretLines .isEmpty ())
105105 {
106- logger .warn ("Secrets file at {} for property {} is empty" , secretsFilePath .toString (), key );
106+ logger .warn ("Secrets file at {} for property {} is empty" , secretsFilePath .toString (), property );
107107 return null ;
108108 }
109109
110110 if (secretLines .size () > 1 )
111111 logger .warn ("Secrets file at {} for property {} contains multiple lines, using only the first line" ,
112- secretsFilePath .toString (), key );
112+ secretsFilePath .toString (), property );
113113
114114 return secretLines .get (0 );
115115 }
116116 catch (IOException e )
117117 {
118- logger .warn ("Error while reading secrets file {} for property {}: {}" , secretsFilePath .toString (), key ,
118+ logger .warn ("Error while reading secrets file {} for property {}: {}" , secretsFilePath .toString (), property ,
119119 e .getMessage ());
120120 throw new RuntimeException (e );
121121 }
0 commit comments