package nl.ipo.cds.etl.config; import javax.inject.Inject; import javax.inject.Named; import nl.idgis.commons.jobexecutor.JobLogger; import nl.ipo.cds.etl.log.LogStringBuilder; import nl.ipo.cds.etl.process.HarvesterFactory; import nl.ipo.cds.etl.process.HarvesterMessageKey; import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.config.PropertiesFactoryBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ClassPathResource; @Configuration public class Harvester { @Bean @Inject public HarvesterFactory harvesterFactory ( final @Value ("${pgrBaseUrl}") String pgrBaseUrl, final JobLogger logger, final @Named("harvesterMessages") java.util.Properties properties) { final HarvesterFactory harvesterFactory = new HarvesterFactory (); final LogStringBuilder<HarvesterMessageKey> logStringBuilder = new LogStringBuilder<HarvesterMessageKey> (); logStringBuilder.setJobLogger (logger); logStringBuilder.setProperties (properties); harvesterFactory.setUserLog (logStringBuilder); harvesterFactory.setPgrBaseUrl (pgrBaseUrl); return harvesterFactory; } @Bean public PropertiesFactoryBean harvesterMessages () { final PropertiesFactoryBean properties = new PropertiesFactoryBean (); properties.setLocation (new ClassPathResource ("nl/ipo/cds/etl/harvest/harvest.messages")); return properties; } }