5
5
package org .hibernate .internal ;
6
6
7
7
import org .hibernate .boot .cfgxml .spi .CfgXmlAccessService ;
8
- import org .hibernate .boot .cfgxml .spi .LoadedConfig ;
9
8
import org .hibernate .boot .spi .SessionFactoryOptions ;
10
- import org .hibernate .cfg .AvailableSettings ;
9
+ import org .hibernate .cfg .JdbcSettings ;
11
10
import org .hibernate .engine .config .spi .ConfigurationService ;
12
11
import org .hibernate .query .sqm .mutation .internal .temptable .GlobalTemporaryTableStrategy ;
13
12
import org .hibernate .query .sqm .mutation .internal .temptable .LocalTemporaryTableStrategy ;
25
24
import static org .hibernate .engine .config .spi .StandardConverters .STRING ;
26
25
import static org .hibernate .internal .log .DeprecationLogger .DEPRECATION_LOGGER ;
27
26
import static org .hibernate .internal .util .StringHelper .isNotEmpty ;
27
+ import static org .hibernate .internal .util .config .ConfigurationHelper .maskOut ;
28
28
29
29
/**
30
30
* Helper methods used to set up a {@link SessionFactoryImpl}.
@@ -33,7 +33,7 @@ class SessionFactorySettings {
33
33
34
34
static Map <String , Object > getSettings (
35
35
SessionFactoryOptions options , SessionFactoryServiceRegistry serviceRegistry ) {
36
- final Map < String , Object > settings =
36
+ final var settings =
37
37
serviceRegistry .requireService ( ConfigurationService .class )
38
38
.getSettings ();
39
39
final Map <String ,Object > result = new HashMap <>( settings );
@@ -48,14 +48,21 @@ static Map<String, Object> getSettings(
48
48
return result ;
49
49
}
50
50
51
+ static Map <String , Object > getMaskedSettings (
52
+ SessionFactoryOptions options , SessionFactoryServiceRegistry serviceRegistry ) {
53
+ final var settings = getSettings ( options , serviceRegistry );
54
+ deprecationCheck ( settings );
55
+ return maskOutSensitiveInformation ( settings );
56
+ }
57
+
51
58
static String getSessionFactoryName (
52
59
SessionFactoryOptions options , SessionFactoryServiceRegistry serviceRegistry ) {
53
60
final String sessionFactoryName = options .getSessionFactoryName ();
54
61
if ( sessionFactoryName != null ) {
55
62
return sessionFactoryName ;
56
63
}
57
64
58
- final LoadedConfig loadedConfig =
65
+ final var loadedConfig =
59
66
serviceRegistry .requireService ( CfgXmlAccessService .class )
60
67
.getAggregatedConfig ();
61
68
if ( loadedConfig != null ) {
@@ -65,32 +72,25 @@ static String getSessionFactoryName(
65
72
}
66
73
}
67
74
68
- final ConfigurationService configurationService =
69
- serviceRegistry .requireService ( ConfigurationService .class );
70
- return configurationService .getSetting ( PERSISTENCE_UNIT_NAME , STRING );
75
+ return serviceRegistry .requireService ( ConfigurationService .class )
76
+ .getSetting ( PERSISTENCE_UNIT_NAME , STRING );
71
77
}
72
78
73
- static void maskOutSensitiveInformation (Map <String , Object > props ) {
74
- maskOutIfSet ( props , AvailableSettings .JPA_JDBC_USER );
75
- maskOutIfSet ( props , AvailableSettings .JPA_JDBC_PASSWORD );
76
- maskOutIfSet ( props , AvailableSettings .JAKARTA_JDBC_USER );
77
- maskOutIfSet ( props , AvailableSettings .JAKARTA_JDBC_PASSWORD );
78
- maskOutIfSet ( props , AvailableSettings .USER );
79
- maskOutIfSet ( props , AvailableSettings .PASS );
80
- }
81
-
82
- private static void maskOutIfSet (Map <String , Object > props , String setting ) {
83
- if ( props .containsKey ( setting ) ) {
84
- props .put ( setting , "****" );
85
- }
79
+ static Map <String , Object > maskOutSensitiveInformation (Map <String , Object > props ) {
80
+ return maskOut ( props ,
81
+ JdbcSettings .JPA_JDBC_USER ,
82
+ JdbcSettings .JPA_JDBC_PASSWORD ,
83
+ JdbcSettings .JAKARTA_JDBC_USER ,
84
+ JdbcSettings .JAKARTA_JDBC_PASSWORD ,
85
+ JdbcSettings .USER ,
86
+ JdbcSettings .PASS );
86
87
}
87
88
88
89
static String determineJndiName (
89
90
String name ,
90
91
SessionFactoryOptions options ,
91
92
SessionFactoryServiceRegistry serviceRegistry ) {
92
- final ConfigurationService configService =
93
- serviceRegistry .requireService ( ConfigurationService .class );
93
+ final var configService = serviceRegistry .requireService ( ConfigurationService .class );
94
94
final String explicitJndiName = configService .getSetting ( SESSION_FACTORY_JNDI_NAME , STRING );
95
95
if ( isNotEmpty ( explicitJndiName ) ) {
96
96
return explicitJndiName ;
@@ -100,13 +100,15 @@ else if ( options.isSessionFactoryNameAlsoJndiName() == Boolean.FALSE ) {
100
100
return null ;
101
101
}
102
102
else {
103
- final String expliciSessionFactoryname = configService .getSetting ( SESSION_FACTORY_NAME , STRING );
104
- if ( isNotEmpty ( expliciSessionFactoryname ) ) {
105
- return expliciSessionFactoryname ;
103
+ final String explicitSessionFactoryName = configService .getSetting ( SESSION_FACTORY_NAME , STRING );
104
+ if ( isNotEmpty ( explicitSessionFactoryName ) ) {
105
+ return explicitSessionFactoryName ;
106
+ }
107
+ else {
108
+ final String unitName = configService .getSetting ( PERSISTENCE_UNIT_NAME , STRING );
109
+ // if name comes from JPA persistence-unit name
110
+ return !isNotEmpty ( unitName ) ? name : null ;
106
111
}
107
- final String unitName = configService .getSetting ( PERSISTENCE_UNIT_NAME , STRING );
108
- // if name comes from JPA persistence-unit name
109
- return ! isNotEmpty ( unitName ) ? name : null ;
110
112
}
111
113
}
112
114
0 commit comments