+++ /dev/null
-package org.argeo.suite.workbench.commands;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.argeo.connect.ConnectException;
-import org.argeo.eclipse.ui.EclipseUiUtils;
-
-import jxl.Cell;
-import jxl.CellType;
-import jxl.JXLException;
-import jxl.Sheet;
-import jxl.Workbook;
-import jxl.WorkbookSettings;
-
-/** Centralise useful methods to simplify development with JXL library */
-class JxlUtils {
-
- public static boolean isEmptyCell(Sheet sheet, int x, int y) {
- Cell cell = sheet.getCell(x, y);
- CellType type = cell.getType();
- return type == CellType.EMPTY;
- }
-
- public static String getStringValue(Sheet sheet, int x, int y) {
- Cell cell = sheet.getCell(x, y);
- CellType type = cell.getType();
- String stringValue = null;
- if (type == CellType.LABEL || type == CellType.NUMBER)
- stringValue = cell.getContents();
- return stringValue;
- }
-
- public static String getCompulsoryStringValue(Sheet sheet, int x, int y) {
- Cell cell = sheet.getCell(x, y);
- CellType type = cell.getType();
- String stringValue = null;
- if (type == CellType.LABEL)
- stringValue = cell.getContents();
- else if (type == CellType.NUMBER)
- stringValue = cell.getContents();
- if (EclipseUiUtils.isEmpty(stringValue))
- throw new ConnectException("No name defined at [" + x + "," + y + "], cannot parse indicator file");
- return stringValue;
- }
-
- public static Double getNumberValue(Sheet sheet, int x, int y) {
- Cell cell = sheet.getCell(x, y);
- CellType type = cell.getType();
- if (type == CellType.NUMBER)
- return new Double(cell.getContents());
- else if (type == CellType.EMPTY)
- return null;
- else
- throw new ConnectException("Not a number at [" + x + "," + y + "]: " + type.toString());
- }
-
- public static Sheet getOnlySheet(InputStream in, String encoding) throws IOException {
- Workbook wkb = toWorkbook(in, encoding);
- Sheet sheet = wkb.getSheet(0);
- return sheet;
- }
-
- public static Sheet getSheet(InputStream in, String encoding, int index) throws IOException {
- Workbook wkb = toWorkbook(in, encoding);
- return wkb.getSheet(index);
- }
-
- public static Workbook toWorkbook(InputStream in, String encoding) throws IOException {
- try {
- WorkbookSettings ws = new WorkbookSettings();
- ws.setEncoding(encoding);
- return Workbook.getWorkbook(in, ws);
- } catch (JXLException e) {
- throw new ConnectException("Unable to open XLS file", e);
- }
- }
-
- // Prevents instantiation
- private JxlUtils() {
- }
-}