Skip to content
This repository has been archived by the owner on Oct 11, 2024. It is now read-only.

Fix/gui broken csv colum mismatch #22

Merged
merged 2 commits into from
Apr 25, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.util.List;

import javax.swing.JPanel;

import org.n52.sos.importer.Constants;
import org.n52.sos.importer.model.CsvData;
import org.n52.sos.importer.model.Step2Model;
import org.n52.sos.importer.model.StepModel;
import org.n52.sos.importer.view.Step2Panel;
Expand Down Expand Up @@ -87,7 +87,7 @@ public boolean isFinished() {

@Override
public StepController getNextStepController() {
final Object[][] content = parseCSVFile();
final CsvData content = parseCSVFile();
TableController.getInstance().setContent(content);
TableController.getInstance().setFirstLineWithData(
step2Model.getFirstLineWithData());
Expand Down Expand Up @@ -234,8 +234,8 @@ public StepModel getModel() {
return step2Model;
}

private Object[][] parseCSVFile() {
Object[][] content = null;
private CsvData parseCSVFile() {
final CsvData content = new CsvData();
String csvFileContent = step2Model.getCSVFileContent();
String separator = step2Model.getColumnSeparator();
final String quoteChar = step2Model.getCommentIndicator();
Expand All @@ -258,16 +258,8 @@ private Object[][] parseCSVFile() {
}
final StringReader sr = new StringReader(csvFileContent);
try (CSVReader reader = new CSVReader(sr, separator.charAt(0), quoteChar.charAt(0), escape.charAt(0))){
final List<String[]> lines = reader.readAll();
final int rows = lines.size();
final String[] firstLine = lines.get(0);
final int columns = firstLine.length;
content = new String[rows][columns];

for (int i = 0; i < rows; i++) {
content[i] = lines.get(i);
}
} catch (final IOException e) {
content.setLines(reader.readAll());
} catch (final IOException e) {
logger.error("Error while parsing CSV file.", e);
}
return content;
Expand Down
Loading