]> source.dussan.org Git - poi.git/commitdiff
Update the CheckFunctionsSupported example to take advantage of the new NotImplemente...
authorNick Burch <nick@apache.org>
Thu, 3 Jul 2014 11:21:03 +0000 (11:21 +0000)
committerNick Burch <nick@apache.org>
Thu, 3 Jul 2014 11:21:03 +0000 (11:21 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1607589 13f79535-47bb-0310-9956-ffa450edef68

src/examples/src/org/apache/poi/ss/examples/formula/CheckFunctionsSupported.java

index 0477e47327ce5c9b646465f0acea0fc6c7fc9db1..cf6c176cc82474ccd4329062375c49335442c5a2 100644 (file)
@@ -27,6 +27,7 @@ import java.util.Set;
 import java.util.TreeSet;
 
 import org.apache.poi.ss.formula.eval.NotImplementedException;
+import org.apache.poi.ss.formula.eval.NotImplementedFunctionException;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.FormulaEvaluator;
 import org.apache.poi.ss.usermodel.Row;
@@ -128,10 +129,14 @@ public class CheckFunctionsSupported {
                 try {
                     evaluator.evaluate(c);
                 } catch (Exception e) {
-                    if (e instanceof NotImplementedException) {
-                        NotImplementedException nie = (NotImplementedException)e;
-                        // TODO
-                        System.err.println("TODO - Not Implemented: " + nie);
+                    if (e instanceof NotImplementedException && e.getCause() != null) {
+                        // Has been wrapped with cell details, but we know those
+                        e = (Exception)e.getCause();
+                    }
+                    
+                    if (e instanceof NotImplementedFunctionException) {
+                        NotImplementedFunctionException nie = (NotImplementedFunctionException)e;
+                        unsupportedFunctions.add(nie.getFunctionName());
                     }
                     unevaluatableCells.put(new CellReference(c), e);
                 }