This is an automated email from the ASF dual-hosted git repository.

shruthirajaram pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new 650e1dd  Fixing Apache POI issue - Formula Cell evaluation nullpointer 
exception
     new 97ed254  Merge pull request #457 from 
wkk91193/fixing-formular-cell-evaluation-npe
650e1dd is described below

commit 650e1ddd8b5dfaf4c6eb2a44512390e9011d4be4
Author: unknown <[email protected]>
AuthorDate: Fri Jun 15 23:13:38 2018 +0530

    Fixing Apache POI issue - Formula Cell evaluation nullpointer exception
---
 .../importhandler/ImportHandlerUtils.java          | 40 ++++++++++++++++++----
 1 file changed, 33 insertions(+), 7 deletions(-)

diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/importhandler/ImportHandlerUtils.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/importhandler/ImportHandlerUtils.java
index c396f98..1e794ed 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/importhandler/ImportHandlerUtils.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/importhandler/ImportHandlerUtils.java
@@ -63,8 +63,13 @@ public class ImportHandlerUtils {
         FormulaEvaluator eval = 
row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
         if(c.getCellType() == Cell.CELL_TYPE_FORMULA) {
             if(eval!=null) {
-                CellValue val = eval.evaluate(c);
-                return ((Double) val.getNumberValue()).longValue();
+                CellValue val = null;
+                try {
+                    val = eval.evaluate(c);
+                } catch (NullPointerException npe) {
+                    return null;
+                }
+                return ((Double)val.getNumberValue()).longValue();
             }
         }
         else if (c.getCellType()==Cell.CELL_TYPE_NUMERIC){
@@ -85,7 +90,13 @@ public class ImportHandlerUtils {
         FormulaEvaluator eval = 
row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
         if(c.getCellType() == Cell.CELL_TYPE_FORMULA) {
             if (eval!=null) {
-                CellValue val = eval.evaluate(c);
+                CellValue val = null;
+                try {
+                    val = eval.evaluate(c);
+                } catch(NullPointerException npe) {
+                    return null;
+                }
+
                 String res = trimEmptyDecimalPortion(val.getStringValue());
                 if (res!=null) {
                     if (!res.equals("")) {
@@ -136,7 +147,12 @@ public class ImportHandlerUtils {
             FormulaEvaluator eval = 
row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
             if(c.getCellType() == Cell.CELL_TYPE_FORMULA) {
                 if(eval!=null) {
-                    CellValue val = eval.evaluate(c);
+                    CellValue val = null;
+                    try {
+                        val = eval.evaluate(c);
+                    } catch (NullPointerException npe) {
+                        return false;
+                    }
                     return val.getBooleanValue();
                 }
                 return false;
@@ -158,8 +174,13 @@ public class ImportHandlerUtils {
             FormulaEvaluator eval = 
row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
             if(c.getCellType() == Cell.CELL_TYPE_FORMULA) {
                 if(eval!=null) {
-                   CellValue val = eval.evaluate(c);
-                    return ((Double) val.getNumberValue()).intValue();
+                    CellValue val = null;
+                    try {
+                        val = eval.evaluate(c);
+                    } catch (NullPointerException npe) {
+                        return null;
+                    }
+                    return ((Double)val.getNumberValue()).intValue();
                 }
                 return null;
             }else if (c.getCellType()==Cell.CELL_TYPE_NUMERIC) {
@@ -176,7 +197,12 @@ public class ImportHandlerUtils {
         FormulaEvaluator eval = 
row.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
         if(c.getCellType() == Cell.CELL_TYPE_FORMULA) {
                 if (eval!=null) {
-                    CellValue val = eval.evaluate(c);
+                    CellValue val = null;
+                    try {
+                        val = eval.evaluate(c);
+                    } catch (NullPointerException npe) {
+                        return 0.0;
+                    }
                     return val.getNumberValue();
                 }else {
                     return 0.0;

Reply via email to