use of eu.esdihumboldt.hale.common.lookup.LookupTableImport in project hale by halestudio.
the class LookupTablePage method readLookupTable.
// read lookup table from file (specified by provider in corresponding
// wizard)
private Map<Value, Value> readLookupTable() {
Map<Value, Value> lookupTable = new HashMap<Value, Value>();
try {
LookupTableImport provider = getWizard().getProvider();
if (provider instanceof CSVLookupReader) {
DefaultCSVLookupReader reader = new DefaultCSVLookupReader();
lookupTable = reader.read(provider.getSource().getInput(), provider.getCharset(), provider.getParameter(CSVConstants.PARAM_SEPARATOR).as(String.class).charAt(0), provider.getParameter(CSVConstants.PARAM_QUOTE).as(String.class).charAt(0), provider.getParameter(CSVConstants.PARAM_ESCAPE).as(String.class).charAt(0), skip, keyColumn.getSelectionIndex(), valueColumn.getSelectionIndex());
} else {
Workbook workbook;
// write xls file
String file = provider.getSource().getLocation().getPath();
String fileExtension = file.substring(file.lastIndexOf("."), file.length());
if (fileExtension.equals(".xls")) {
workbook = new HSSFWorkbook(provider.getSource().getInput());
} else // write xlsx file
if (fileExtension.equals(".xlsx")) {
workbook = new XSSFWorkbook(provider.getSource().getInput());
} else
return new HashMap<Value, Value>();
DefaultXLSLookupTableReader reader = new DefaultXLSLookupTableReader();
lookupTable = reader.read(workbook, skip, keyColumn.getSelectionIndex(), valueColumn.getSelectionIndex(), ignoreEmptyString.getSelection());
}
} catch (IOException e) {
return lookupTable;
}
return lookupTable;
}
use of eu.esdihumboldt.hale.common.lookup.LookupTableImport in project hale by halestudio.
the class LookupTablePage method readHeader.
// read line from a file specified by provider of corresponding wizard
private String[] readHeader() {
LookupTableImport provider = getWizard().getProvider();
List<String> items = new ArrayList<String>();
try {
if (provider instanceof CSVLookupReader) {
CSVReader reader = CSVUtil.readFirst(getWizard().getProvider());
return reader.readNext();
} else {
Workbook workbook;
// write xls file
String file = provider.getSource().getLocation().getPath();
String fileExtension = file.substring(file.lastIndexOf("."), file.length());
if (fileExtension.equals(".xls")) {
workbook = new HSSFWorkbook(provider.getSource().getInput());
} else // write xlsx file
if (fileExtension.equals(".xlsx")) {
workbook = new XSSFWorkbook(provider.getSource().getInput());
} else
return new String[0];
Sheet sheet = workbook.getSheetAt(0);
Row currentRow = sheet.getRow(0);
for (int cell = 0; cell < currentRow.getPhysicalNumberOfCells(); cell++) {
items.add(currentRow.getCell(cell).getStringCellValue());
}
return items.toArray(new String[0]);
}
} catch (IOException e) {
return new String[0];
}
}
Aggregations