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;
    }
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 ( ) ) ; 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
@param sourceProperties
@return