List of usage examples for org.springframework.batch.item.file FlatFileItemReader setLineMapper
public void setLineMapper(LineMapper<T> lineMapper)
From source file:io.spring.marchmadness.NcaaStatConfiguration.java
@Bean public ItemReader<NcaaStats> reader(ResourceLoader resourceLoader) { FlatFileItemReader<NcaaStats> reader = new FlatFileItemReader<NcaaStats>(); reader.setResource(resourceLoader.getResource("file:" + inputFileName)); reader.setLineMapper(new DefaultLineMapper<NcaaStats>() { {//from w ww. ja v a2s .c om setLineTokenizer(new DelimitedLineTokenizer() { { setNames(new String[] { "year", "rank", "name", "rating", "win", "loss", "schedl", "schedlRank", "winTop25", "lossTop25", "winTop50", "lossTop50", "predictor", "predictorRank", "goldenMean", "goldenMeanRank", "recent", "recentRank" }); } }); setFieldSetMapper(new BeanWrapperFieldSetMapper<NcaaStats>() { { setTargetType(NcaaStats.class); } }); } }); return reader; }
From source file:de.langmi.spring.batch.examples.readers.file.archive.ArchiveMultiResourceItemReaderTest.java
/** * Helper method to setup the used MultiResourceItemReader. * * @param mReader/* www . jav a 2s . co m*/ * @throws Exception */ private void generalMultiResourceReaderSetup(ArchiveMultiResourceItemReader<String> mReader) throws Exception { // setup delegate FlatFileItemReader<String> reader = new FlatFileItemReader<String>(); reader.setLineMapper(new PassThroughLineMapper()); mReader.setDelegate(reader); }
From source file:com.acmemotors.batch.LoaderJobConfiguration.java
@Bean @StepScope//from ww w .j ava2 s . com public FlatFileItemReader<Map<String, Object>> reader(@Value("#{jobParameters['inputFile']}") String fileName) throws Exception { DefaultLineMapper<Map<String, Object>> mapper = new DefaultLineMapper<>(); mapper.setLineTokenizer(jsonLineTokenzier()); mapper.setFieldSetMapper(new FieldSetMapper<Map<String, Object>>() { private UUID journeyId = UUID.randomUUID(); private Double readDouble(String value) { if (StringUtils.hasText(value)) { return Double.valueOf(value); } else { return null; } } private Integer readInteger(String value) { if (StringUtils.hasText(value)) { return Integer.valueOf(value); } else { return null; } } @Override public Map<String, Object> mapFieldSet(FieldSet fieldSet) throws BindException { Map<String, Object> map = new HashMap<>(); map.put(VIN.getHerbieField(), fieldSet.readString(VIN.getHerbieField())); map.put(LONGITUDE.getHerbieField(), readDouble(fieldSet.readString(LONGITUDE.getHerbieField()))); map.put(LATITUDE.getHerbieField(), readDouble(fieldSet.readString(LATITUDE.getHerbieField()))); map.put(RPM.getHerbieField(), readDouble(fieldSet.readString(RPM.getHerbieField()))); map.put(VEHICLE_SPEED.getHerbieField(), readInteger(fieldSet.readString(VEHICLE_SPEED.getHerbieField()))); String statuses = fieldSet.readString(FUEL_SYSTEM_STATUS.getHerbieField()); String[] statusPieces = statuses.substring(1, statuses.length() - 1).split(","); Integer[] integerStatuses = { readInteger(statusPieces[0].trim()), readInteger(statusPieces[1].trim()) }; map.put(FUEL_SYSTEM_STATUS.getHerbieField(), integerStatuses); map.put(ENGINE_LOAD.getHerbieField(), readDouble(fieldSet.readString(ENGINE_LOAD.getHerbieField()))); map.put(COOLANT_TEMP.getHerbieField(), readInteger(fieldSet.readString(COOLANT_TEMP.getHerbieField()))); map.put(SHORT_TERM_FUEL.getHerbieField(), readDouble(fieldSet.readString(SHORT_TERM_FUEL.getHerbieField()))); map.put(LONG_TERM_FUEL.getHerbieField(), readDouble(fieldSet.readString(LONG_TERM_FUEL.getHerbieField()))); map.put(INTAKE_MANIFOLD_PRESSURE.getHerbieField(), readInteger(fieldSet.readString(INTAKE_MANIFOLD_PRESSURE.getHerbieField()))); map.put(INTAKE_AIR_TEMP.getHerbieField(), readInteger(fieldSet.readString(INTAKE_AIR_TEMP.getHerbieField()))); map.put(MAF_AIRFLOW.getHerbieField(), readDouble(fieldSet.readString(MAF_AIRFLOW.getHerbieField()))); map.put(THROTTLE_POSITION.getHerbieField(), readInteger(fieldSet.readString(THROTTLE_POSITION.getHerbieField()))); map.put(OBD_STANDARDS.getHerbieField(), fieldSet.readString(OBD_STANDARDS.getHerbieField())); map.put(TIME_SINCE_ENGINE_START.getHerbieField(), readInteger(fieldSet.readString(TIME_SINCE_ENGINE_START.getHerbieField()))); map.put(FUEL_LEVEL_INPUT.getHerbieField(), readInteger(fieldSet.readString(FUEL_LEVEL_INPUT.getHerbieField()))); map.put(RELATIVE_THROTTLE_POS.getHerbieField(), readDouble(fieldSet.readString(RELATIVE_THROTTLE_POS.getHerbieField()))); map.put(ABSOLUTE_THROTTLE_POS_B.getHerbieField(), readDouble(fieldSet.readString(ABSOLUTE_THROTTLE_POS_B.getHerbieField()))); map.put(ACCELERATOR_THROTTLE_POS_D.getHerbieField(), readDouble(fieldSet.readString(ACCELERATOR_THROTTLE_POS_D.getHerbieField()))); map.put(ACCELERATOR_THROTTLE_POS_E.getHerbieField(), readDouble(fieldSet.readString(ACCELERATOR_THROTTLE_POS_E.getHerbieField()))); map.put(DISTANCE_WITH_MIL_ON.getHerbieField(), readInteger(fieldSet.readString(DISTANCE_WITH_MIL_ON.getHerbieField()))); map.put(CATALYST_TEMP.getHerbieField(), readDouble(fieldSet.readString(CATALYST_TEMP.getHerbieField()))); map.put(BAROMETRIC_PRESSURE.getHerbieField(), readInteger(fieldSet.readString(BAROMETRIC_PRESSURE.getHerbieField()))); map.put(CONTROL_MODULE_VOLTAGE.getHerbieField(), readDouble(fieldSet.readString(CONTROL_MODULE_VOLTAGE.getHerbieField()))); map.put(ACCELERATION.getHerbieField(), readDouble(fieldSet.readString(ACCELERATION.getHerbieField()))); map.put(BEARING.getHerbieField(), readDouble(fieldSet.readString(BEARING.getHerbieField()))); map.put(JOURNEY_ID.getHerbieField(), journeyId.toString()); return map; } }); mapper.afterPropertiesSet(); FlatFileItemReader<Map<String, Object>> reader = new FlatFileItemReader<>(); reader.setLineMapper(mapper); reader.setResource(new FileSystemResource(fileName)); reader.afterPropertiesSet(); return reader; }
From source file:org.jboss.examples.spring.batch.BatchConfiguration.java
@Bean @StepScope// w w w .j a va 2s . c om public FlatFileItemReader<AggregateItem> flatFileItemReader( @Value("#{jobParameters[inputFile]}") String fileName, LineTokenizer lineTokenizer) { FlatFileItemReader<AggregateItem> rc = new FlatFileItemReader<>(); rc.setResource(new FileSystemResource(fileName)); DefaultLineMapper<AggregateItem> mapper = new DefaultLineMapper<>(); // tokenizer mapper.setLineTokenizer(lineTokenizer); // field mapper AggregateItemFieldSetMapper fieldSetMapper = new AggregateItemFieldSetMapper(); fieldSetMapper.setDelegate(new TradeFieldSetMapper()); mapper.setFieldSetMapper(fieldSetMapper); rc.setLineMapper(mapper); return rc; }
From source file:de.mediait.batch.FlatFileItemReaderTest.java
private FlatFileItemReader<String[]> createFlatFileReader(final char seperatorCharacter, final char quoteCharacter) { final FlatFileItemReader<String[]> reader = new FlatFileItemReader<String[]>(); final DefaultLineMapper<String[]> lineMapper = new DefaultLineMapper<String[]>(); final DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer(String.valueOf(seperatorCharacter)); tokenizer.setQuoteCharacter(quoteCharacter); lineMapper.setLineTokenizer(tokenizer); final FixingCsvRecordSeparatorPolicy recordSeparatorPolicy = new FixingCsvRecordSeparatorPolicy(); recordSeparatorPolicy.setQuoteCharacter(quoteCharacter); reader.setRecordSeparatorPolicy(recordSeparatorPolicy); reader.setLineMapper(lineMapper); final FieldSetMapper<String[]> fieldSetMapper = new ArrayFieldSetMapper(); lineMapper.setFieldSetMapper(fieldSetMapper); return reader; }
From source file:com.github.jrrdev.mantisbtsync.core.jobs.issues.IssuesReadersConfiguration.java
/** * Return a reader that gets a list of issues ids from a CSV file. * The CSV file must not have a header line for columns definition. * The file is loaded through Spring resource loader so the filepath can contains * definitions like classpath: and others. * * @param resourceLoader// ww w .ja v a 2 s. c o m * Spring resource loader * @param filePath * File path of the CSV file * @return the reader */ @Bean @StepScope public FlatFileItemReader<BugIdBean> csvIssuesReader(final ResourceLoader resourceLoader, @Value("#{jobParameters['mantis.filepath']}") final String filePath) { final FlatFileItemReader<BugIdBean> reader = new FlatFileItemReader<BugIdBean>(); reader.setResource(resourceLoader.getResource(filePath)); final DefaultLineMapper<BugIdBean> lineMapper = new DefaultLineMapper<BugIdBean>(); final DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer(); tokenizer.setNames(new String[] { "id" }); lineMapper.setLineTokenizer(tokenizer); final BeanWrapperFieldSetMapper<BugIdBean> mapper = new BeanWrapperFieldSetMapper<BugIdBean>(); mapper.setTargetType(BugIdBean.class); lineMapper.setFieldSetMapper(mapper); reader.setLineMapper(lineMapper); return reader; }
From source file:example.UserInitializer.java
private static List<User> readUsers(Resource resource) throws Exception { Scanner scanner = new Scanner(resource.getInputStream()); String line = scanner.nextLine(); scanner.close();/*from ww w .jav a 2s .c om*/ FlatFileItemReader<User> reader = new FlatFileItemReader<User>(); reader.setResource(resource); DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer(); tokenizer.setNames(line.split(",")); tokenizer.setStrict(false); DefaultLineMapper<User> lineMapper = new DefaultLineMapper<User>(); lineMapper.setFieldSetMapper(fields -> { User user = new User(); user.setEmail(fields.readString("email")); user.setFirstname(capitalize(fields.readString("first"))); user.setLastname(capitalize(fields.readString("last"))); user.setNationality(fields.readString("nationality")); String city = Arrays.stream(fields.readString("city").split(" "))// .map(StringUtils::capitalize)// .collect(Collectors.joining(" ")); String street = Arrays.stream(fields.readString("street").split(" "))// .map(StringUtils::capitalize)// .collect(Collectors.joining(" ")); try { user.setAddress(new Address(city, street, fields.readString("zip"))); } catch (IllegalArgumentException e) { user.setAddress(new Address(city, street, fields.readString("postcode"))); } user.setPicture(new Picture(fields.readString("large"), fields.readString("medium"), fields.readString("thumbnail"))); user.setUsername(fields.readString("username")); user.setPassword(fields.readString("password")); return user; }); lineMapper.setLineTokenizer(tokenizer); reader.setLineMapper(lineMapper); reader.setRecordSeparatorPolicy(new DefaultRecordSeparatorPolicy()); reader.setLinesToSkip(1); reader.open(new ExecutionContext()); List<User> users = new ArrayList<>(); User user = null; do { user = reader.read(); if (user != null) { users.add(user); } } while (user != null); return users; }
From source file:com.apress.prospringintegration.batch.JobConfiguration.java
@Bean @Scope("step")//www.ja va 2s. com public FlatFileItemReader dataReader(@Value("file:#{jobParameters['input.file']}") Resource resource) { FlatFileItemReader csvFileReader = new FlatFileItemReader(); csvFileReader.setResource(resource); DelimitedLineTokenizer delimitedLineTokenizer = new DelimitedLineTokenizer( DelimitedLineTokenizer.DELIMITER_COMMA); delimitedLineTokenizer.setNames(new String[] { "firstName", "lastName", "company", "address", "city", "state", "zip", "county", "url", "phoneNumber", "fax" }); BeanWrapperFieldSetMapper beanWrapperFieldSetMapper = new BeanWrapperFieldSetMapper(); beanWrapperFieldSetMapper.setTargetType(UserRegistration.class); DefaultLineMapper defaultLineMapper = new DefaultLineMapper(); defaultLineMapper.setLineTokenizer(delimitedLineTokenizer); defaultLineMapper.setFieldSetMapper(beanWrapperFieldSetMapper); csvFileReader.setLineMapper(defaultLineMapper); return csvFileReader; }
From source file:com.apress.prospringintegration.springbatch.integration.JobConfiguration.java
@Bean @Scope("step")//from www .j a va 2s . co m public FlatFileItemReader dataReader( @Value("file:src/main/resources/sample/#{jobParameters['input.file']}.csv") Resource resource) { FlatFileItemReader csvFileReader = new FlatFileItemReader(); csvFileReader.setResource(resource); DelimitedLineTokenizer delimitedLineTokenizer = new DelimitedLineTokenizer( DelimitedLineTokenizer.DELIMITER_COMMA); delimitedLineTokenizer.setNames(new String[] { "firstName", "lastName", "company", "address", "city", "state", "zip", "county", "url", "phoneNumber", "fax" }); BeanWrapperFieldSetMapper beanWrapperFieldSetMapper = new BeanWrapperFieldSetMapper(); beanWrapperFieldSetMapper.setTargetType(UserRegistration.class); DefaultLineMapper defaultLineMapper = new DefaultLineMapper(); defaultLineMapper.setLineTokenizer(delimitedLineTokenizer); defaultLineMapper.setFieldSetMapper(beanWrapperFieldSetMapper); csvFileReader.setLineMapper(defaultLineMapper); return csvFileReader; }