Package source

Source Code of source.FileSourceReader

package source;

import java.io.File;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import value.Row;

@Component
class FileSourceReader implements SourceReader<Row> {
    private static Log log = LogFactory.getLog(FileSourceReader.class);
    private Iterator<String> lineIterator;
    private List<String> headers;
    private String separator;

    @Autowired
    FileSourceReader(@Value("#{luceneConfig.getSourceFileLocation()}") File sourceFileLocation) throws Exception {
        try {
            lineIterator = FileUtils.readLines(sourceFileLocation).iterator();
        } catch (Exception e) {
            log.error("Error in reading file at location:" + sourceFileLocation.getAbsoluteFile(), e);
            throw e;
        }
        String headerLine = lineIterator.next();
        headers = Arrays.asList(headerLine.split(";"));
    }

    @Override
    public boolean hasNext() {
        return lineIterator.hasNext();
    }

    @Override
    public Row next() {
        String line = lineIterator.next();
        return new Row(line, headers, separator);
    }

    @Override
    public void remove() {
    }

    @Override
    public void setSeparator(String separator) {
        this.separator = separator;
    }

}
TOP

Related Classes of source.FileSourceReader

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.