itemReader.setLineMapper(lineMapper); itemReader.setRecordSeparatorPolicy(new DefaultRecordSeparatorPolicy()); itemReader.setLinesToSkip(1); itemReader.open(new ExecutionContext());
reader.setLinesToSkip(1); reader.open(new ExecutionContext());
reader.setLinesToSkip(this.linesToSkip);
@Test public void testRestartWithSkippedLines() throws Exception { reader.setLinesToSkip(2); reader.open(executionContext); // read some records reader.read(); reader.read(); // get restart data reader.update(executionContext); // read next two records reader.read(); reader.read(); assertEquals(2, executionContext.getInt(ClassUtils.getShortName(FlatFileItemReader.class) + ".read.count")); // close input reader.close(); reader.setResource(getInputResource("header\nignoreme\ntestLine1\ntestLine2\ntestLine3\ntestLine4\ntestLine5\ntestLine6")); // init for restart reader.open(executionContext); // read remaining records assertEquals("testLine3", reader.read()); assertEquals("testLine4", reader.read()); reader.update(executionContext); assertEquals(4, executionContext.getInt(ClassUtils.getShortName(FlatFileItemReader.class) + ".read.count")); }
@Bean ItemReader<StudentDTO> csvFileItemReader(Environment environment) { FlatFileItemReader<StudentDTO> csvFileReader = new FlatFileItemReader<>(); csvFileReader.setResource(new ClassPathResource(environment.getRequiredProperty(PROPERTY_CSV_SOURCE_FILE_PATH))); csvFileReader.setLinesToSkip(1); LineMapper<StudentDTO> studentLineMapper = createStudentLineMapper(); csvFileReader.setLineMapper(studentLineMapper); return csvFileReader; }
@Bean ItemReader<StudentDTO> csvFileItemReader(Environment environment) { FlatFileItemReader<StudentDTO> csvFileReader = new FlatFileItemReader<>(); csvFileReader.setResource(new ClassPathResource(environment.getRequiredProperty(PROPERTY_CSV_SOURCE_FILE_PATH))); csvFileReader.setLinesToSkip(1); LineMapper<StudentDTO> studentLineMapper = createStudentLineMapper(); csvFileReader.setLineMapper(studentLineMapper); return csvFileReader; }
@Bean @StepScope public FlatFileItemReader<SuggestedPodcast> reader(@Value("#{jobParameters[directoryPath]}") String directoryPath){ FlatFileItemReader<SuggestedPodcast> reader = new FlatFileItemReader<SuggestedPodcast>(); reader.setLinesToSkip(1);//first line is title definition reader.setResource(getFileFromDirectory(directoryPath)); reader.setLineMapper(lineMapper()); return reader; }
@Bean public FlatFileItemReader<Customer> customerItemReader() { FlatFileItemReader<Customer> reader = new FlatFileItemReader<>(); reader.setLinesToSkip(1); reader.setResource(new ClassPathResource("/data/customer.csv")); DefaultLineMapper<Customer> customerLineMapper = new DefaultLineMapper<>(); DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer(); tokenizer.setNames(new String[] {"id", "firstName", "lastName", "birthdate"}); customerLineMapper.setLineTokenizer(tokenizer); customerLineMapper.setFieldSetMapper(new CustomerFieldSetMapper()); customerLineMapper.afterPropertiesSet(); reader.setLineMapper(customerLineMapper); return reader; }
@Bean public FlatFileItemReader<Customer> customerItemReader() { FlatFileItemReader<Customer> reader = new FlatFileItemReader<>(); reader.setLinesToSkip(1); reader.setResource(new ClassPathResource("/data/customer.csv")); DefaultLineMapper<Customer> customerLineMapper = new DefaultLineMapper<>(); DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer(); tokenizer.setNames(new String[] {"id", "firstName", "lastName", "birthdate"}); customerLineMapper.setLineTokenizer(tokenizer); customerLineMapper.setFieldSetMapper(new CustomerFieldSetMapper()); customerLineMapper.afterPropertiesSet(); reader.setLineMapper(customerLineMapper); return reader; }
itemReader.setLineMapper(lineMapper); itemReader.setRecordSeparatorPolicy(new DefaultRecordSeparatorPolicy()); itemReader.setLinesToSkip(1); itemReader.open(new ExecutionContext());
itemReader.setLineMapper(lineMapper); itemReader.setRecordSeparatorPolicy(new DefaultRecordSeparatorPolicy()); itemReader.setLinesToSkip(1); itemReader.open(new ExecutionContext());
reader.setLinesToSkip(this.linesToSkip);