001    package org.kuali.common.jdbc.suppliers.spring;
002    
003    import org.kuali.common.jdbc.reader.SqlReader;
004    import org.kuali.common.jdbc.reader.spring.SqlReaderConfig;
005    import org.kuali.common.jdbc.sql.model.SqlContext;
006    import org.kuali.common.jdbc.sql.spring.SqlContextConfig;
007    import org.kuali.common.jdbc.suppliers.ResourcesSupplierFactory;
008    import org.kuali.common.jdbc.suppliers.SqlLocationContext;
009    import org.kuali.common.jdbc.suppliers.SqlSupplierFactory;
010    import org.springframework.beans.factory.annotation.Autowired;
011    import org.springframework.context.annotation.Bean;
012    import org.springframework.context.annotation.Configuration;
013    import org.springframework.context.annotation.Import;
014    
015    @Configuration
016    @Import({ SqlReaderConfig.class, SqlContextConfig.class })
017    public class SuppliersFactoryConfig {
018    
019            @Autowired
020            SqlReader reader;
021    
022            @Autowired
023            SqlContext context;
024    
025            @Bean
026            public SqlSupplierFactory sqlSupplierFactory() {
027                    return new SqlSupplierFactory(new SqlLocationContext(context.getEncoding(), reader));
028            }
029    
030            @Bean
031            public ResourcesSupplierFactory resourcesSuppliersFactory() {
032                    return new ResourcesSupplierFactory(sqlSupplierFactory());
033            }
034    }