Example usage for org.apache.poi.ss.usermodel Cell getRowIndex

List of usage examples for org.apache.poi.ss.usermodel Cell getRowIndex

Introduction

In this page you can find the example usage for org.apache.poi.ss.usermodel Cell getRowIndex.

Prototype

int getRowIndex();

Source Link

Document

Returns row index of a row in the sheet that contains this cell

Usage

From source file:gov.nih.nci.cananolab.util.ExcelParser.java

License:BSD License

public void printSheet(Sheet sheet) {
    for (Row row : sheet) {
        for (Cell cell : row) {
            CellReference cellRef = new CellReference(cell.getRowIndex(), cell.getColumnIndex());
            System.out.print(cellRef.formatAsString());
            System.out.print(" - ");

            switch (cell.getCellType()) {
            case Cell.CELL_TYPE_STRING:
                System.out.println(cell.getRichStringCellValue().getString());
                break;
            case Cell.CELL_TYPE_NUMERIC:
                if (DateUtil.isCellDateFormatted(cell)) {
                    System.out.println(cell.getDateCellValue());
                } else {
                    System.out.println(cell.getNumericCellValue());
                }//from  ww w.j a  va 2 s .c o  m
                break;
            case Cell.CELL_TYPE_BOOLEAN:
                System.out.println(cell.getBooleanCellValue());
                break;
            case Cell.CELL_TYPE_FORMULA:
                System.out.println(cell.getCellFormula());
                break;
            default:
                System.out.println();
            }
        }
    }
}

From source file:icalendarconverter.ExcelConverter.java

public List<ScheduleClass> readExcel() throws FileNotFoundException, IOException {
    ArrayList<ScheduleClass> scheduleList = new ArrayList<>();

    FileInputStream fis = new FileInputStream(pathFile);

    XSSFWorkbook wb = new XSSFWorkbook(fis);
    XSSFSheet sheet = wb.getSheetAt(0);//from w w w .j a  va2  s  . c om
    Iterator<Row> rowIterator = sheet.iterator();

    CellRangeAddress add;
    int colNoIdx = 0;
    ArrayList<String> dosen = new ArrayList<>();
    ArrayList<Integer> idxDosen = new ArrayList<>();
    ArrayList<Integer> colDosen = new ArrayList<>();
    ArrayList<String> location = new ArrayList<>();
    int idxNumber = 0;
    ArrayList<Integer> locationIdx = new ArrayList<>();
    outerloop: for (int j = 0; j < sheet.getLastRowNum(); j++) {
        row = sheet.getRow(j);
        for (int f = 0; f < row.getLastCellNum(); f++) {
            Cell cell = row.getCell(f);
            if (cell.getCellType() == Cell.CELL_TYPE_STRING
                    && cell.getStringCellValue().equalsIgnoreCase("No.")) {
                rowNoIdx = j;
                colNoIdx = cell.getColumnIndex();
            } else if (cell.getCellType() == Cell.CELL_TYPE_STRING
                    && cell.getStringCellValue().equalsIgnoreCase("Nama Mata Kuliah")) {
                colMatkulIdx = cell.getColumnIndex();
                break outerloop;
            }

        }
    }
    //System.out.println("col matkul = "+colMatkulIdx);
    System.out.println("sheet = " + sheet.getLastRowNum());
    outerloop2: for (int i = 0; i < sheet.getLastRowNum(); i++) {
        outerloop: for (int j = 0; j < row.getLastCellNum(); j++) {
            row = sheet.getRow(i);
            if (row == null) {
                i = sheet.getLastRowNum();
                break outerloop2;
            }
            Cell cell = row.getCell(j);
            FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
            if (cell.getColumnIndex() == colNoIdx && i > rowNoIdx + 3
                    && cell.getCellType() != Cell.CELL_TYPE_BLANK
                    && evaluator.evaluate(cell).getCellType() != Cell.CELL_TYPE_NUMERIC) {
                i = sheet.getLastRowNum();
                break outerloop2;
            }
            if (cell.getColumnIndex() == colNoIdx && i > rowNoIdx + 3
                    && cell.getCellType() == Cell.CELL_TYPE_BLANK) {
                i = i + 1;
                break outerloop;
            }

            if (cell.getRowIndex() > rowNoIdx + 1 && cell.getColumnIndex() == (colNoIdx + 1)) {
                if (cell.getCellType() == Cell.CELL_TYPE_BLANK) {
                    i = i + 1;
                    break outerloop;
                }
                String delims = "[,. ]";
                String[] sumary = cell.getStringCellValue().split(delims);
                for (int l = 0; l < sumary.length; l++) {
                    if (sumary[l].equalsIgnoreCase("Mrt")) {
                        sumary[l] = "3";
                    }
                    if (sumary[l].equalsIgnoreCase("Okt")) {
                        sumary[l] = "10";
                    }
                    if (sumary[l].equalsIgnoreCase("`16")) {
                        sumary[l] = "2016";
                    }
                }

                lc = LocalDate.of(Integer.parseInt(sumary[5]), Integer.parseInt(sumary[3]),
                        Integer.parseInt(sumary[2]));
                // System.out.println("LC = "+lc);

                //                        sp = new SimpleDateFormat("EEEE, MMMM d, yyyy");
                //                        String b = sumary[3] + "/" + sumary[2] + "/" + sumary[5];
                //                        date = new Date(b);
                //System.out.println(sp.format(date));
            }
            if (cell.getRowIndex() > rowNoIdx + 1 && cell.getColumnIndex() == (colNoIdx + 2)) {
                if (cell.getStringCellValue().equalsIgnoreCase("LIBUR")) {
                    i = i + 1;
                    break outerloop;
                } else {
                    if (cell.getStringCellValue().equalsIgnoreCase("Shift 1")
                            || cell.getStringCellValue().equalsIgnoreCase("Shift 2")) {
                        CellReference cr = new CellReference(cell.getRowIndex() + 1, cell.getColumnIndex());
                        Row row2 = sheet.getRow(cr.getRow());
                        Cell c = row2.getCell(cr.getCol());
                        String delimsJam = "[-]";
                        String[] arrJam = c.getStringCellValue().split(delimsJam);
                        for (int k = 0; k < arrJam.length; k++) {
                            arrJam[k] = arrJam[k].replace('.', ':');
                        }
                        //                                indoFormatter = DateTimeFormatter
                        //                                        .ofLocalizedTime(FormatStyle.SHORT)
                        //                                        .withLocale(Locale.getDefault());
                        //System.out.println("I3 = " + i);
                        lt = LocalTime.parse(arrJam[0]);
                        //System.out.println(lt+"-"+lt.plusHours(2)); 

                    } else {
                        String delimsJam = "[-]";
                        String[] arrJam = cell.getStringCellValue().split(delimsJam);
                        for (int k = 0; k < arrJam.length; k++) {
                            arrJam[k] = arrJam[k].replace('.', ':');
                        }
                        //                                indoFormatter = DateTimeFormatter
                        //                                        .ofLocalizedTime(FormatStyle.SHORT)
                        //                                        .withLocale(Locale.getDefault());
                        //System.out.println("I3 = " + i);
                        lt = LocalTime.parse(arrJam[0]);
                        //System.out.println(lt+"-"+lt.plusHours(2)); 
                    }

                }

            }
            if (cell.getRowIndex() > rowNoIdx + 1 && cell.getColumnIndex() == colMatkulIdx) {
                subject = cell.getStringCellValue();
                //System.out.println("Subject = "+subject);
            }

            if (cell.getRowIndex() > rowNoIdx && cell.getColumnIndex() >= colMatkulIdx + 1
                    && cell.getColumnIndex() < row.getLastCellNum()) {
                if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
                    //                        location.add(String.valueOf((int)cell.getNumericCellValue()));
                    //                        locationIdx.add(cell.getColumnIndex());
                }
                if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
                    if (cell.getStringCellValue().contains(":")) {
                        String[] splt = cell.getStringCellValue().split(":");
                        String[] splt2 = splt[1].split(",");
                        for (int l = 0; l < splt2.length; l++) {
                            dosen.add(splt2[l].trim());
                            location.add("Lab");
                            //System.out.println(splt2[l] + "= lab");
                        }
                    } else {
                        CellReference cr = new CellReference(1, cell.getColumnIndex());
                        Row row2 = sheet.getRow(cr.getRow());
                        Cell c = row2.getCell(cr.getCol());
                        if (!cell.getStringCellValue().isEmpty()) {
                            dosen.add(cell.getStringCellValue().trim());
                            location.add(String.valueOf((int) c.getNumericCellValue()).trim());
                        }

                        //System.out.print(cell.getStringCellValue() + " Ruang =" + (int) c.getNumericCellValue() + " ");
                    }

                }
                if (cell.getCellType() == Cell.CELL_TYPE_BLANK && cell.getRowIndex() > 2) {
                    CellReference cr = new CellReference(cell.getRowIndex() - 1, cell.getColumnIndex());
                    Row row2 = sheet.getRow(cr.getRow());
                    Cell c = row2.getCell(cr.getCol());
                    CellReference cr2 = new CellReference(1, cell.getColumnIndex());
                    Row row3 = sheet.getRow(cr2.getRow());
                    Cell c2 = row3.getCell(cr2.getCol());
                    if (c.getStringCellValue().contains(":")) {
                        String[] splt = c.getStringCellValue().split(":");
                        String[] splt2 = splt[1].split(",");
                        for (int l = 0; l < splt2.length; l++) {
                            dosen.add("".trim());
                            location.add("");
                            //System.out.println(splt2[l] + "= lab");
                        }
                    } else {
                        if (!c.getStringCellValue().isEmpty()) {
                            dosen.add("");
                            location.add("");
                        }

                        //System.out.print(c.getStringCellValue() + " Ruang = " + (int) c2.getNumericCellValue() + " ");
                    }
                }
                //                   scheduleList.add(new ScheduleClass(lc, lt, lt, subject, dosen.get(j), location.get(j)));
            }
            //                System.out.println("lc = "+lc+",lt = "+lt+",subject = "+subject+",dosen = "+dosen.get(i)+",location = "+location.get(i));
            //                scheduleList.add(new ScheduleClass(lc, lt, lt, subject, dosen.get(j), location.get(j)));

        }

        for (int j = 0; j < dosen.size(); j++) {
            //System.out.println("lc = "+lc+",lt = "+lt+",subject = "+subject+",dosen = "+dosen.get(j)+",location = "+location.get(j));
            scheduleList
                    .add(new ScheduleClass(lc, lt, lt.plusHours(2), subject, dosen.get(j), location.get(j)));
        }
        dosen.clear();
        location.clear();

    }

    return mergeringList(scheduleList);
}

From source file:in.expertsoftware.colorcheck.VerifyTokens.java

/**
 * Verify_tokens function takes two parameters first is number of sheets present in workbook and second is an instance of workbook.
 * it process each sheet individually and verifying the tokens position as well check tokens are present or not and error is handled by error model.
 * @param NumberOfSheets Number of Sheet present In this workbook
 * @param workbook an instance of XSSFWorkbook
 * @return ArrayList   of type Error and Model
 * /*  www. jav  a2  s.co  m*/
 */
public ArrayList verify_tokens(int NumberOfSheets, XSSFWorkbook workbook) {
    ArrayList<ErrorModel> errorModelList = new ArrayList<ErrorModel>();
    ArrayList<TokenModel> tokenModelList = new ArrayList<TokenModel>();
    ArrayList<String> metadataCount = new ArrayList<String>();
    ArrayList errorAndTokenList = new ArrayList();
    for (int i = 0; i < NumberOfSheets; i++) {
        XSSFSheet Sheet = workbook.getSheetAt(i);
        if (containSheetName(Sheet.getSheetName())) {
            Iterator<Row> rowIterator = Sheet.iterator();
            while (rowIterator.hasNext()) {
                Row row = rowIterator.next();
                Iterator<Cell> cellIterator = row.iterator();
                while (cellIterator.hasNext()) {
                    Cell cell = cellIterator.next();
                    if (cell.getColumnIndex() == 0) {
                        String key = cell.getStringCellValue();
                        switch (Sheet.getSheetName()) {
                        case "BasicInfo":
                            if (!(cell.getCellType() == Cell.CELL_TYPE_BLANK)) {
                                ErrorModel errmodel = new ErrorModel();
                                errmodel.setSheet_name(Sheet.getSheetName());
                                CellReference cellRef = new CellReference(cell);
                                errmodel.setCell_ref(cellRef.formatAsString());
                                errmodel.setRow(cell.getRowIndex() + 1);
                                errmodel.setCol(cell.getColumnIndex() + 1);
                                errmodel.setError_desc("Vulnerable Token present at");
                                errmodel.setError_level("Error");
                                errorModelList.add(errmodel);
                            }
                            break;
                        case "User_Financial_Input":
                            switch (key.trim()) {
                            case "SOUFI":
                                TokenModel tknmodel = new TokenModel();
                                if (metadataCount.contains("SOUFI")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOUFI");
                                }
                                break;

                            case "EOUFI":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOUFI")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOUFI");
                                }
                                break;

                            case "UFCS1":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("UFCS1")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("UFCS1");
                                }
                                break;

                            case "UFCS2":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("UFCS2")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("UFCS2");
                                }
                                break;
                            }
                            break;
                        case "User_Operation_Input":
                            switch (key.trim()) {

                            case "SOUOI":
                                TokenModel tknmodel = new TokenModel();
                                if (metadataCount.contains("SOUOI")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOUOI");
                                }
                                break;

                            case "EOUOI":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOUOI")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOUOI");
                                }
                                break;
                            }
                            break;
                        case "Unit_Map":
                            break;
                        case "Operation_Standard":
                            switch (key.trim()) {
                            case "SOOI":
                                TokenModel tknmodel = new TokenModel();
                                if (metadataCount.contains("SOOI")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOOI");
                                }
                                break;
                            case "EOOI":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOOI")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef1 = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef1.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOOI");
                                }
                                break;
                            case "SOOCS":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("SOOCS")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOOCS");
                                }
                                break;
                            case "EOOCS":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOOCS")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOOCS");
                                }
                                break;
                            case "SOOWD":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("SOOWD")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOOWD");
                                }
                                break;
                            case "EOOWD":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOOWD")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOOWD");
                                }
                                break;

                            }
                            break;
                        case "Financial_Standard":
                            switch (key.trim()) {
                            case "SOFI":
                                TokenModel tknmodel = new TokenModel();
                                if (metadataCount.contains("SOFI")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOFI");
                                }
                                break;
                            case "EOFI":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOFI")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOFI");
                                }
                                break;
                            case "FCS1":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("FCS1")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("FCS1");
                                }
                                break;
                            case "FCS2":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("FCS2")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("FCS2");
                                }
                                break;
                            case "SOFWD":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("SOFWD")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOFWD");
                                }
                                break;
                            case "EOFWD":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOFWD")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOFWD");
                                }
                                break;
                            case "SOFCP":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("SOFCP")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOFCP");
                                }
                                break;
                            case "EOFCP":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOFCP")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOFCP");
                                }
                                break;
                            }
                            break;
                        case "CrossCheck":
                            switch (key.trim()) {
                            case "SOCCK":
                                TokenModel tknmodel = new TokenModel();
                                if (metadataCount.contains("SOCCK")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOCCK");
                                }
                                break;
                            case "EOCCK":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOCCK")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOCCK");
                                }
                                break;
                            }
                            break;
                        case "Reporting_Qtr":
                            switch (key.trim()) {
                            case "SORQ":
                                TokenModel tknmodel = new TokenModel();
                                if (metadataCount.contains("SORQ")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SORQ");
                                }
                                break;
                            case "EORQ":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EORQ")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EORQ");
                                }
                                break;
                            }
                            break;
                        case "Reporting_Year":
                            switch (key.trim()) {
                            case "SORY":
                                TokenModel tknmodel = new TokenModel();
                                if (metadataCount.contains("SORY")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SORY");
                                }
                                break;
                            case "EORY":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EORY")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EORY");
                                }
                                break;
                            }
                            break;
                        case "Chart_Qtr":
                            switch (key.trim()) {
                            case "SOOCQ":
                                TokenModel tknmodel = new TokenModel();
                                if (metadataCount.contains("SOOCQ")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOOCQ");
                                }
                                break;
                            case "EOOCQ":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOOCQ")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOOCQ");
                                }
                                break;
                            case "SOFCQ":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("SOFCQ")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOFCQ");
                                }
                                break;
                            case "EOFCQ":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOFCQ")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOFCQ");
                                }
                                break;
                            }
                            break;
                        case "Chart_Year":
                            switch (key.trim()) {
                            case "SOOCY":
                                TokenModel tknmodel = new TokenModel();
                                if (metadataCount.contains("SOOCY")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOOCY");
                                }
                                break;
                            case "EOOCY":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOOCY")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOOCY");
                                }
                                break;
                            case "SOFCY":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("SOFCY")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOFCY");
                                }
                                break;
                            case "EOFCY":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOFCY")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOFCY");
                                }
                                break;
                            }
                            break;
                        case "Summary":
                            switch (key.trim()) {
                            case "SOS":
                                TokenModel tknmodel = new TokenModel();
                                if (metadataCount.contains("SOS")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("SOS");
                                }
                                break;
                            case "EOS":
                                tknmodel = new TokenModel();
                                if (metadataCount.contains("EOS")) {
                                    ErrorModel errmodel = new ErrorModel();
                                    errmodel.setSheet_name(Sheet.getSheetName());
                                    CellReference cellRef = new CellReference(cell);
                                    errmodel.setCell_ref(cellRef.formatAsString());
                                    errmodel.setRow(cell.getRowIndex() + 1);
                                    errmodel.setCol(cell.getColumnIndex() + 1);
                                    errmodel.setError_desc("Token Present More Than One Time");
                                    errmodel.setError_level("Error");
                                    errorModelList.add(errmodel);
                                } else {
                                    tknmodel.setSheet_name(Sheet.getSheetName());
                                    tknmodel.setToken_name(key.trim());
                                    tknmodel.setRow_no((cell.getRowIndex() + 1));
                                    tokenModelList.add(tknmodel);
                                    metadataCount.add("EOS");
                                }
                                break;
                            }
                            break;
                        case "MetaDataSheet":
                            break;
                        }
                    }
                }
            }
        } else {
            System.out.println("workbook have another sheet");
            ErrorModel errmodel = new ErrorModel();
            errmodel.setError_desc("This is an extra sheet in this workbook");
            errmodel.setSheet_name(Sheet.getSheetName());
            //errmodel.setRow(-2);
            errmodel.setError_level("Warning");
            errorModelList.add(errmodel);
        }
    }
    //for checking every tocken is present or not;  
    errorModelList.addAll(verifyAllTokenPresent(metadataCount));
    errorAndTokenList.add(errorModelList);
    errorAndTokenList.add(tokenModelList);
    return errorAndTokenList;
}

From source file:kupkb_experiments.ExperimentSpreadSheetParser.java

License:Open Source License

public ExperimentSpreadSheetParser(File file) {

    keyValue = new HashMap<String, List<Cell>>();

    compoundAttributeToColumn = new HashMap<String, Integer>();

    String expId = "exp_" + String.valueOf(System.currentTimeMillis());
    String analysisId = "analysis_" + String.valueOf(System.currentTimeMillis());
    roleCell = new ArrayList<Cell>();

    workbookManager = new WorkbookManager();
    InputStream inputStream = null;
    try {/*from  w  w  w.j av a2 s  . c o m*/
        workbookManager.loadWorkbook(file);

        workbook = workbookManager.getWorkbook();
        validationManager = workbookManager.getOntologyTermValidationManager();

        inputStream = file.toURI().toURL().openStream();
        HSSFWorkbook workbook = new HSSFWorkbook(new BufferedInputStream(inputStream));

        this.sheet = workbook.getSheetAt(0);

        int lastRow = sheet.getLastRowNum();
        for (int x = 0; x <= lastRow; x++) {
            HSSFRow row = sheet.getRow(x);
            if (row != null) {
                firstPass(row);
            }
        }

    } catch (IOException e) {
        e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
    }

    if (!keyValue.containsKey(SpreadhseetVocabulary.EXPERIMENT_ID.getKeyName())) {
        System.err.println("Didn't find an experiment id in the spreadsheet");
        System.exit(0);
    } else {

        Cell c = keyValue.get(SpreadhseetVocabulary.EXPERIMENT_ID.getKeyName()).get(0);
        String texpId = getValueForKey(c);
        if (!texpId.equals("")) {
            expId = texpId;
        }

        experiment = new KUPExperiment(expId);

        if (experiment == null) {
            System.err.println("Can't create experiment");
            System.exit(0);
        } else {

            if (keyValue.get(SpreadhseetVocabulary.COMPOUND_LIST.getKeyName()) != null) {
                String desc = getValueForKey(
                        keyValue.get(SpreadhseetVocabulary.COMPOUND_LIST.getKeyName()).get(0));
                if (!desc.equals("")) {
                    experiment.setListType(desc);
                }
            }

            if (keyValue.get(SpreadhseetVocabulary.EXPERIMENT_ASSAY.getKeyName()) != null) {
                String desc = getValueForKey(
                        keyValue.get(SpreadhseetVocabulary.EXPERIMENT_ASSAY.getKeyName()).get(0));
                if (!desc.equals("")) {
                    experiment.setAssayType(desc);
                }
            }

            if (keyValue.get(SpreadhseetVocabulary.PRE_ANALYTICAL.getKeyName()) != null) {
                String desc = getValueForKey(
                        keyValue.get(SpreadhseetVocabulary.PRE_ANALYTICAL.getKeyName()).get(0));
                if (!desc.equals("")) {
                    experiment.setPreAnalyticalTechnuique(desc);
                }
            }

            if (keyValue.get(SpreadhseetVocabulary.ANALYSIS_TYPE.getKeyName()) != null) {
                String desc = getValueForKey(
                        keyValue.get(SpreadhseetVocabulary.ANALYSIS_TYPE.getKeyName()).get(0));
                if (!desc.equals("")) {
                    experiment.setAnalysisType(desc);
                }
            }
        }
    }

    // now go through the analysis roles
    Set<KUPAnnotation> annotations = new HashSet<KUPAnnotation>();
    String uniqueString = "";
    int rolecounter = 0;
    for (Cell currentRole : roleCell) {

        // search from current cell down until you get to the next role
        int rowIndex = currentRole.getRowIndex();
        // first is the Role

        uniqueString = "_" + String.valueOf(System.currentTimeMillis() + rolecounter);
        analysisId = expId + uniqueString;

        KUPAnnotation annotation = new KUPAnnotation(analysisId);
        String roleValue = getValueForKey(currentRole);
        if (roleValue.equals("")) {
            rolecounter++;
            continue;
        }
        annotation.setRole(roleValue);
        rowIndex++;

        // now keep going until you find the next role
        Set<String> qualities = new HashSet<String>();
        Set<String> bioMaterials = new HashSet<String>();

        while (keepGettingRole(rowIndex)) {
            HSSFRow currentRow = sheet.getRow(rowIndex);
            // get the first cell

            Cell cell = currentRow.getCell(0);
            System.err.println(cell.getStringCellValue());
            if (cell.getStringCellValue().toLowerCase()
                    .equals(SpreadhseetVocabulary.EXPERIMENT_CONDITION.getKeyName())) {
                String t = getValueForKey(cell);
                IRI iri = lookupId(cell, t);
                if (iri != null) {
                    t = iri.toString();
                }

                annotation.setCondition(t);
                System.out.println("Setting exp condition: " + t);
            } else if (cell.getStringCellValue().toLowerCase()
                    .equals(SpreadhseetVocabulary.SPECIES.getKeyName())) {
                String t = getValueForKey(cell);
                IRI iri = lookupId(cell, t);
                if (iri != null) {
                    t = iri.toString();
                }

                annotation.setTaxonomy(t);
                System.out.println("Setting taxonomy: " + t);
            } else if (cell.getStringCellValue().toLowerCase()
                    .equals(SpreadhseetVocabulary.DISEASE.getKeyName())) {
                String t = getValueForKey(cell);
                String[] diseaseValues = t.split("\\s*\\|\\s*");
                Set<String> diseasesSet = new HashSet<String>();
                for (String s : diseaseValues) {
                    s = s.trim();
                    IRI iri = lookupId(cell, s);
                    if (iri != null) {
                        s = iri.toString();
                    }
                    System.out.println("Setting disease: " + s);
                    diseasesSet.add(s);
                }
                annotation.getHasDisease().addAll(diseasesSet);
            } else if (cell.getStringCellValue().toLowerCase()
                    .equals(SpreadhseetVocabulary.BIOMATERIAL.getKeyName())) {

                String desc = getValueForKey(
                        keyValue.get(SpreadhseetVocabulary.BIOMATERIAL.getKeyName()).get(rolecounter));
                String[] values = desc.split("\\s*\\|\\s*");
                for (String s : values) {
                    s = s.trim();

                    IRI iri = lookupId(cell, s);
                    if (iri != null) {
                        s = iri.toString();
                    }
                    System.out.println("Setting biomaterial: " + s);

                    bioMaterials.add(s);
                }
            } else if (cell.getStringCellValue().toLowerCase()
                    .equals(SpreadhseetVocabulary.EXPERIMENT_DESCRIPTION.getKeyName())) {
                String description = getValueForKey(
                        keyValue.get(SpreadhseetVocabulary.EXPERIMENT_DESCRIPTION.getKeyName()).get(0));
                if (!description.equals("")) {
                    System.out.println("Setting description: " + description);
                    experiment.setAssayDescription(description);
                }
            } else {
                String t = getValueForKey(cell);
                if (!t.equals("")) {
                    IRI iri = lookupId(cell, t);
                    if (iri != null) {
                        t = iri.toString();
                    }
                    System.out.println("Setting quality: " + t);

                    qualities.add(t);
                }
                // the rest are qualities

            }
            rowIndex++;
        }
        annotation.getBioMaterial().addAll(bioMaterials);
        annotation.getQualities().addAll(qualities);

        annotations.add(annotation);
        rolecounter++;

    }

    // finally parse the compound lists
    CompoundList comList = new CompoundList(expId + uniqueString);
    for (int r = compoundListStart; r <= sheet.getLastRowNum(); r++) {

        if (sheet.getRow(r) == null) {
            continue;
        }

        CompoundList.ListMember listMember = comList.newListMember();
        //            Cell firstCell = sheet.getRow(r).getCell(1);
        //            if (firstCell != null) {
        //                if (!firstCell.getStringCellValue().equals("")) {

        for (String key : compoundAttributeToColumn.keySet()) {

            if (key.equals(SpreadhseetVocabulary.GENE_SYMBOL.getKeyName())) {
                // get the value in the cell
                int col = compoundAttributeToColumn.get(key);
                Cell cell = sheet.getRow(r).getCell(col);
                if (cell != null)
                    listMember.setGeneSymbol(cell.getStringCellValue());
            }
            if (key.equals(SpreadhseetVocabulary.GENE_ID.getKeyName())
                    || key.equals(SpreadhseetVocabulary.ENTREZ_GENE_ID.getKeyName())) {
                // get the value in the cell
                int col = compoundAttributeToColumn.get(key);
                Cell cell = sheet.getRow(r).getCell(col);
                if (cell != null) {

                    String s = cell.getStringCellValue();

                    if (s.contains("E")) {
                        String tmps = s.substring(s.indexOf("E"));
                        s = s.replace(tmps, "");
                        s = s.replace(".", "");
                    } else if (s.endsWith(".0")) {
                        s = s.replace(".0", "");
                    }
                    listMember.setGeneId(s);
                }
            }
            if (key.equals(SpreadhseetVocabulary.UNIPROT_ID.getKeyName())
                    || key.equals(SpreadhseetVocabulary.UNIPROT_ACC.getKeyName())) {
                // get the value in the cell
                int col = compoundAttributeToColumn.get(key);
                Cell cell = sheet.getRow(r).getCell(col);
                if (cell != null)
                    listMember.setUniprotID(cell.getStringCellValue());
            }
            if (key.equals(SpreadhseetVocabulary.HMDB_ID.getKeyName())) {
                // get the value in the cell
                int col = compoundAttributeToColumn.get(key);
                Cell cell = sheet.getRow(r).getCell(col);
                if (cell != null)
                    listMember.setHmdbid(cell.getStringCellValue());
            }
            if (key.equals(SpreadhseetVocabulary.MICROCOSM.getKeyName())) {
                // get the value in the cell
                int col = compoundAttributeToColumn.get(key);
                Cell cell = sheet.getRow(r).getCell(col);
                if (cell != null)
                    listMember.setMicrocosmid(cell.getStringCellValue());
            }
            if (key.equals(SpreadhseetVocabulary.EXPRESSION_STRENGTH.getKeyName())) {
                // get the value in the cell
                int col = compoundAttributeToColumn.get(key);
                Cell cell = sheet.getRow(r).getCell(col);
                if (cell != null)
                    listMember.setExpressionStrength(cell.getStringCellValue());
            }
            if (key.equals(SpreadhseetVocabulary.DIFFERENTIAL.getKeyName())) {
                // get the value in the cell
                int col = compoundAttributeToColumn.get(key);
                Cell cell = sheet.getRow(r).getCell(col);
                if (cell != null)
                    listMember.setDifferential(cell.getStringCellValue());
            }
            if (key.equals(SpreadhseetVocabulary.RATIO.getKeyName())) {
                // get the value in the cell
                int col = compoundAttributeToColumn.get(key);
                Cell cell = sheet.getRow(r).getCell(col);
                if (cell != null)
                    listMember.setRatio(cell.getStringCellValue());
            }
            if (key.equals(SpreadhseetVocabulary.P_VALUE.getKeyName())) {
                // get the value in the cell
                int col = compoundAttributeToColumn.get(key);
                Cell cell = sheet.getRow(r).getCell(col);
                if (cell != null)
                    listMember.setPValue(cell.getStringCellValue());
            }
            if (key.equals(SpreadhseetVocabulary.FDR.getKeyName())) {
                // get the value in the cell
                int col = compoundAttributeToColumn.get(key);
                Cell cell = sheet.getRow(r).getCell(col);
                if (cell != null)
                    listMember.setFdrValue(cell.getStringCellValue());
            }
        }
        comList.getMembers().add(listMember);
        //                }
        //            }
    }

    KUPAnalysis analysis = new KUPAnalysis(analysisId);
    analysis.getCompoundList().add(comList);
    analysis.getAnnotations().addAll(annotations);
    experiment.getAnalysis().add(analysis);

}

From source file:kupkb_experiments.ExperimentSpreadSheetParser.java

License:Open Source License

public IRI lookupId(Cell cell, String value) {

    int colIndex = cell.getColumnIndex();
    int rowIndex = cell.getRowIndex();

    Collection<OntologyTermValidation> validations = validationManager.getContainingValidations(
            new Range(workbook.getSheet(0), colIndex + 1, rowIndex, colIndex + 1, rowIndex));

    for (OntologyTermValidation v : validations) {
        OntologyTermValidationDescriptor desc = v.getValidationDescriptor();
        for (Term t : desc.getTerms()) {
            if (t.getName().toLowerCase().equals(value.toLowerCase())) {
                if (t.getIRI().toString().contains("e-lico.eu")) {
                    return IRI.create(t.getIRI().toString().replace("e-lico.eu", "kupkb.org"));
                }/*from ww w . j a va2 s .co  m*/
                return t.getIRI();
            }
        }
    }

    return null;
}

From source file:kupkb_experiments.ExperimentSpreadSheetParser.java

License:Open Source License

private String getValueForKey(Cell cell) {
    int colIndex = cell.getColumnIndex();
    int rowIndex = cell.getRowIndex();
    //        System.err.println(cell.getStringCellValue() + " col" + colIndex + " row " + rowIndex);
    Cell nextCell = sheet.getRow(rowIndex).getCell(colIndex + 1);

    if (nextCell != null) {
        return nextCell.getStringCellValue();
    }/*w w w. j  a  v a  2s.  com*/
    return "";
}

From source file:mvp.presenter.OpenDataDialogPresenter.java

private void parseFile(String excelFilePath, boolean colHeader) throws IOException {
    if (view.shapeFilePathField.getText().isEmpty()
            || view.shapeFilePathField.getText().equalsIgnoreCase("Enter the shapefile path here")) {
        data.setShpPath("empty");
    }// www  .  j a  v a 2s  .  co m
    try (FileInputStream inputStream = new FileInputStream(new File(excelFilePath))) {
        GridBase grid = new GridBase(1000, 100);
        ObservableList<String> listHeader = FXCollections.observableArrayList();

        try (Workbook workbook = new XSSFWorkbook(inputStream)) {
            Sheet firstSheet = workbook.getSheetAt(0);
            data.setRowNumber(firstSheet.getLastRowNum());
            data.setColumnNumber(firstSheet.getRow(0).getLastCellNum());
            Iterator<Row> iterator = firstSheet.iterator();

            ObservableList<ObservableList<SpreadsheetCell>> rows = FXCollections.observableArrayList();
            for (int row = 0; row < grid.getRowCount(); row++) {
                final ObservableList<SpreadsheetCell> list = FXCollections.observableArrayList();
                for (int column = 0; column < grid.getColumnCount(); column++) {
                    list.add(SpreadsheetCellType.STRING.createCell(row, column, 1, 1, ""));
                }
                rows.add(list);
            }

            if (colHeader) {
                if (iterator.hasNext()) {
                    Row headerRow = iterator.next();
                    Iterator<Cell> cellIterator = headerRow.cellIterator();
                    while (cellIterator.hasNext()) {
                        Cell cell = cellIterator.next();
                        listHeader.add(cell.getStringCellValue());
                    }
                }

                ObservableList<String> variableType = FXCollections.observableArrayList();
                for (int i = 0; i < listHeader.size(); i++) {
                    variableType.add(null);
                }

                while (iterator.hasNext()) {
                    Row nextRow = iterator.next();
                    Iterator<Cell> cellIterator = nextRow.cellIterator();
                    while (cellIterator.hasNext()) {
                        Cell cell = cellIterator.next();
                        switch (cell.getCellType()) {
                        case Cell.CELL_TYPE_STRING:
                            variableType.set(cell.getColumnIndex(), "String");
                            rows.get(cell.getRowIndex() - 1).set(cell.getColumnIndex(),
                                    SpreadsheetCellType.STRING.createCell(cell.getRowIndex() - 1,
                                            cell.getColumnIndex(), 1, 1, cell.getStringCellValue()));
                            break;
                        case Cell.CELL_TYPE_BOOLEAN:
                            variableType.set(cell.getColumnIndex(), "Boolean");
                            rows.get(cell.getRowIndex() - 1).set(cell.getColumnIndex(),
                                    SpreadsheetCellType.STRING.createCell(cell.getRowIndex() - 1,
                                            cell.getColumnIndex(), 1, 1,
                                            String.valueOf(cell.getBooleanCellValue())));
                            break;
                        case Cell.CELL_TYPE_NUMERIC:
                            variableType.set(cell.getColumnIndex(), "Double");
                            rows.get(cell.getRowIndex() - 1).set(cell.getColumnIndex(),
                                    SpreadsheetCellType.DOUBLE.createCell(cell.getRowIndex() - 1,
                                            cell.getColumnIndex(), 1, 1, cell.getNumericCellValue()));
                            break;
                        }
                    }
                }

                ObservableList<Variable> variables = FXCollections.observableArrayList();
                for (int i = 0; i < listHeader.size() && i < variableType.size(); i++) {
                    Variable variable = new Variable(listHeader.get(i), variableType.get(i));
                    variables.add(variable);
                }
                data.setVariables(variables);
            } else if (!colHeader) {
                while (iterator.hasNext()) {
                    Row nextRow = iterator.next();
                    Iterator<Cell> cellIterator = nextRow.cellIterator();
                    while (cellIterator.hasNext()) {
                        Cell cell = cellIterator.next();
                        switch (cell.getCellType()) {
                        case Cell.CELL_TYPE_STRING:
                            rows.get(cell.getRowIndex()).set(cell.getColumnIndex(),
                                    SpreadsheetCellType.STRING.createCell(cell.getRowIndex(),
                                            cell.getColumnIndex(), 1, 1, cell.getStringCellValue()));
                            break;
                        case Cell.CELL_TYPE_BOOLEAN:
                            rows.get(cell.getRowIndex()).set(cell.getColumnIndex(),
                                    SpreadsheetCellType.STRING.createCell(cell.getRowIndex(),
                                            cell.getColumnIndex(), 1, 1,
                                            String.valueOf(cell.getBooleanCellValue())));
                            break;
                        case Cell.CELL_TYPE_NUMERIC:
                            rows.get(cell.getRowIndex()).set(cell.getColumnIndex(),
                                    SpreadsheetCellType.DOUBLE.createCell(cell.getRowIndex(),
                                            cell.getColumnIndex(), 1, 1, cell.getNumericCellValue()));
                            break;
                        }
                    }
                }
            }
            grid.setRows(rows);
            mwview.drawTable(listHeader, grid);
        }
    }
    view.closeStage();
}

From source file:net.ceos.project.poi.annotated.core.CellFormulaHandler.java

License:Apache License

/**
 * Apply a formula value at the Cell./* ww w .j  a va 2s.c  o  m*/
 * 
 * @param configCriteria
 *            the {@link XConfigCriteria} object
 * @param cell
 *            the {@link Cell} to use
 * @throws ElementException
 */
private static boolean toFormula(final XConfigCriteria configCriteria, final Cell cell)
        throws ElementException {
    boolean isFormulaApplied = false;

    if (StringUtils.isNotBlank(configCriteria.getElement().formula())) {
        // calculate position according the propagation type
        int position = PredicateFactory.isPropagationHorizontal.test(configCriteria.getPropagation())
                ? cell.getRowIndex() + 1
                : cell.getColumnIndex();

        // calculate and apply formula
        cell.setCellFormula(CellFormulaConverter.calculateSimpleOrDynamicFormula(configCriteria, position));
        isFormulaApplied = true;
    }

    return isFormulaApplied;
}

From source file:net.sf.ahtutils.report.util.DataUtil.java

public static Object getCellValue(Cell cell) {
    Object value = new Object();

    // Prevent a NullPointerException
    if (cell != null) {
        if (cell.getHyperlink() != null) {
            Workbook workbook = new XSSFWorkbook();
            FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
            Hyperlink link = cell.getHyperlink();
            String address = link.getAddress();
            if (logger.isTraceEnabled()) {
                logger.trace("Found a Hyperlink to " + cell.getHyperlink().getAddress() + " in cell "
                        + cell.getRowIndex() + "," + cell.getColumnIndex());
            }/*from  w  w w .java 2  s  .co m*/
            cell = evaluator.evaluateInCell(cell);
        }
        // Depending on the cell type, the value is read using Apache POI methods

        switch (cell.getCellType()) {

        // String are easy to handle
        case Cell.CELL_TYPE_STRING:
            logger.trace("Found string " + cell.getStringCellValue());
            value = cell.getStringCellValue();
            break;

        // Since date formatted cells are also of the numeric type, this needs to be processed
        case Cell.CELL_TYPE_NUMERIC:
            if (DateUtil.isCellDateFormatted(cell)) {
                Date date = cell.getDateCellValue();
                DateFormat df = SimpleDateFormat.getDateInstance();
                logger.trace("Found date " + df.format(date));
                value = date;
            } else {
                logger.trace("Found general number " + cell.getNumericCellValue());
                value = cell.getNumericCellValue();
            }
            break;
        }
    } else {
        logger.trace("Found cell with NULL value");
    }
    return value;
}

From source file:net.unit8.axebomber.parser.CellImpl.java

License:Apache License

public CellImpl(org.apache.poi.ss.usermodel.Cell cell) {
    this.cell = cell;
    setColumnIndex(cell.getColumnIndex());
    setRowIndex(cell.getRowIndex());
}