package nl.ipo.cds.etl.config; import javax.inject.Inject; import javax.sql.DataSource; import nl.idgis.commons.jobexecutor.JobLogger; import nl.ipo.cds.etl.FileCache; import nl.ipo.cds.etl.attributemapping.AttributeMappingFactory; import nl.ipo.cds.etl.filtering.DatasetFiltererFactory; import nl.ipo.cds.etl.process.ImportFeatureProcessor; import nl.ipo.cds.etl.process.ValidateFeatureProcessor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor; @Configuration public class FeatureProcessors { private @Inject JobLogger logger; @Bean @Inject public ValidateFeatureProcessor validateFeatureProcessor (final AttributeMappingFactory attributeMappingFactory, final DatasetFiltererFactory datasetFiltererFactory) { final ValidateFeatureProcessor processor = new ValidateFeatureProcessor (attributeMappingFactory, datasetFiltererFactory); return processor; } @Bean @Inject public ImportFeatureProcessor importFeatureProcessor (final DataSource dataSource, final FileCache fileCache, final AttributeMappingFactory attributeMappingFactory, final DatasetFiltererFactory datasetFiltererFactory) { final ImportFeatureProcessor processor = new ImportFeatureProcessor ( attributeMappingFactory, datasetFiltererFactory, dataSource, new CommonsDbcpNativeJdbcExtractor (), fileCache ); return processor; } }