Cambiando el color de la celda usando apache poi.

Estoy usando Apache POI para leer datos en una hoja de cálculo de números de pieza. Busco el número de parte en nuestra base de datos, si tenemos un dibujo en CAD de la parte colorearé la celda de número de parte verde, si no lo hacemos, lo pintaremos de rojo. Una vez finalizado el proceso, se guarda la hoja de cálculo. El problema que tengo es que cada celda de esa columna sale verde. He revisado el código, la lógica para buscar el número de pieza está funcionando bien y la lógica para determinar de qué color debe ser la celda y configurar el color y el relleno parece funcionar también. ¿Alguna idea de lo que estoy haciendo mal aquí?

Gracias.

//Check the parts
for(int r=1;r<sheet.getPhysicalNumberOfRows();r++) {
    String partNumber = null;
    switch(cell.getCellType()) {
        case HSSFCell.CELL_TYPE_NUMERIC:
            long pNum = (long) cell.getNumericCellValue();
            partNumber = String.valueOf(pNum);
            break;
        case HSSFCell.CELL_TYPE_STRING:
            partNumber = cell.getStringCellValue();
            break;
        default:
            logger.info("Part Number at row " + r + " on sheet " + partList.getSheetName(s) + "is of an unsupported type");
    }

    try {
        List<String> oldMaterialNumbers = getOldMaterialNumbers(partNumber);

        boolean gotDrawing = checkPartNumber(oldMaterialNumbers, partNumber);
        //If there's a drawing then color the row green, if not red.
        short bgColorIndex = gotDrawing
                                ?HSSFColor.LIGHT_GREEN.index //42
                                :HSSFColor.RED.index; //10

        HSSFCell curCell = row.getCell(partNumberColumn);
        HSSFCellStyle curStyle = curCell.getCellStyle();

        curStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        curStyle.setFillForegroundColor(bgColorIndex);

        curCell.setCellStyle(curStyle);

    }catch(Exception e) {
        throw e;
    }
}

Respuestas a la pregunta(5)

Su respuesta a la pregunta