private PropertyOperations addPropertiesFromDatabase ( PropertyOperations sourceProperties ) { PropertyOperations dbPropsOnly = sourceProperties . filterByKeyPrefix ( ChorusConstants . DATABASE_CONFIGS_PROPERTY_GROUP + "." ) . removeKeyPrefix ( ChorusConstants . DATABASE_CONFIGS_PROPERTY_GROUP + "." ) ; dbPropsOnly = VariableExpandingPropertyLoader . expandVariables ( dbPropsOnly , currentFeature ) ; Map < String , Properties > dbPropsByDbName = dbPropsOnly . splitKeyAndGroup ( "\\." ) . loadPropertyGroups ( ) ; PropertyOperations o = sourceProperties ; for ( Map . Entry < String , Properties > m : dbPropsByDbName . entrySet ( ) ) { log . debug ( "Creating loader for database properties " + m . getKey ( ) ) ; //current properties which may be from properties files or classpath take precedence over db properties so merge them on top o = properties ( new JdbcPropertyLoader ( m . getValue ( ) ) ) . merge ( o ) ; } return o ; }
If there are any database properties defined in sourceProperties then use them to merge extra properties from the databsase