]> source.dussan.org Git - poi.git/commitdiff
reverted changes of r1747942 and deprecated instead
authorAndreas Beeker <kiwiwings@apache.org>
Mon, 13 Jun 2016 21:18:50 +0000 (21:18 +0000)
committerAndreas Beeker <kiwiwings@apache.org>
Mon, 13 Jun 2016 21:18:50 +0000 (21:18 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1748313 13f79535-47bb-0310-9956-ffa450edef68

src/examples/src/org/apache/poi/ss/examples/formula/SettingExternalFunction.java
src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
src/java/org/apache/poi/ss/formula/atp/AnalysisToolPak.java
src/java/org/apache/poi/ss/formula/udf/AggregatingUDFFinder.java
src/java/org/apache/poi/ss/formula/udf/DefaultUDFFinder.java
src/java/org/apache/poi/ss/formula/udf/UDFFinder.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
src/testcases/org/apache/poi/hssf/model/TestWorkbook.java

index df79f5a354f823ed8c221ad850dc4d90118a7c52..ae7079436876b00c7e9ef572f82ca710391f5605 100644 (file)
@@ -48,7 +48,7 @@ public class SettingExternalFunction {
     /**\r
      * wrap external functions in a plugin\r
      */\r
-    public static class BloombergAddIn extends UDFFinder {\r
+    public static class BloombergAddIn implements UDFFinder {\r
         private final Map<String, FreeRefFunction> _functionsByName;\r
 \r
         public BloombergAddIn() {\r
@@ -89,7 +89,6 @@ public class SettingExternalFunction {
         wb.write(out);\r
         out.close();\r
 \r
-        wb.close();\r
     }\r
 \r
 }\r
index 744e8d5a8c6206ebf317d2919d3ee1da3bb1cbbd..cfae1e92cf561b41b6f6e823814117ca22f7adf9 100644 (file)
@@ -31,6 +31,7 @@ import java.io.PrintWriter;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.Iterator;
@@ -38,7 +39,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.NoSuchElementException;
 import java.util.regex.Pattern;
-import java.util.Collections;
 
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.poi.EncryptedDocumentException;
@@ -181,7 +181,7 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
      * The locator of user-defined functions.
      * By default includes functions from the Excel Analysis Toolpack
      */
-    private UDFFinder _udfFinder = new IndexedUDFFinder(UDFFinder.getDefault());
+    private UDFFinder _udfFinder = new IndexedUDFFinder(AggregatingUDFFinder.DEFAULT);
 
     public static HSSFWorkbook create(InternalWorkbook book) {
        return new HSSFWorkbook(book);
index 106709cea86ea3efd28f88b3c86dcc6b12554719..a0da336d77c547034b85a8f6e601f7bec98e4048 100644 (file)
@@ -44,7 +44,7 @@ import org.apache.poi.ss.formula.udf.UDFFinder;
 /**
  * Analysis Toolpack Function Definitions
  */
-public final class AnalysisToolPak extends UDFFinder {
+public final class AnalysisToolPak implements UDFFinder {
 
     public static final UDFFinder instance = new AnalysisToolPak();
 
index 7d19de33cb0e113278a247473a14714b8ab9ff70..ece80345c03528c5e2d4a0ba9668cae83a321e83 100644 (file)
@@ -17,6 +17,7 @@
 
 package org.apache.poi.ss.formula.udf;
 
+import org.apache.poi.ss.formula.atp.AnalysisToolPak;
 import org.apache.poi.ss.formula.functions.FreeRefFunction;
 
 import java.util.ArrayList;
@@ -25,8 +26,15 @@ import java.util.Collection;
 
 /**
  * Collects add-in libraries and VB macro functions together into one UDF finder
+ *
+ * @author PUdalau
  */
-public class AggregatingUDFFinder extends UDFFinder {
+public class AggregatingUDFFinder implements UDFFinder {
+    
+    /**
+     * Default UDFFinder implementation
+     */ 
+    public static final UDFFinder DEFAULT = new AggregatingUDFFinder(AnalysisToolPak.instance);
 
     private final Collection<UDFFinder> _usedToolPacks;
 
index 71e709b842f8fe68ef5c692e961265fbd4bb21f7..382820b1efeb2f33c21104251c7457e6e26e89b3 100644 (file)
@@ -25,8 +25,10 @@ import org.apache.poi.ss.formula.functions.FreeRefFunction;
 
 /**
  * Default UDF finder - for adding your own user defined functions.
+ *
+ * @author PUdalau
  */
-public final class DefaultUDFFinder extends UDFFinder {
+public final class DefaultUDFFinder implements UDFFinder {
     private final Map<String, FreeRefFunction> _functionsByName;
 
     public DefaultUDFFinder(String[] functionNames, FreeRefFunction[] functionImpls) {
index 4086f73348a46c3e98e566e8a2c2b0b235f1ec5e..a434756e93addf9da82716c53909b4c3b21bd09d 100644 (file)
@@ -21,12 +21,18 @@ import org.apache.poi.ss.formula.atp.AnalysisToolPak;
 import org.apache.poi.ss.formula.functions.FreeRefFunction;
 
 /**
- * Common abstract class for "Add-in" libraries and user defined function libraries.
+ * Common interface for "Add-in" libraries and user defined function libraries.
  */
-public abstract class UDFFinder {
-    public static UDFFinder getDefault() {
-        return new AggregatingUDFFinder(AnalysisToolPak.instance);
-    }
+public interface UDFFinder {
+    // FIXME: Findbugs error: IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION
+    /**
+     * Default UDFFinder implementation
+     * 
+     * @deprecated use AggregatingUDFFinder.DEFAULT instead, deprecated in POI 3.15,
+     *     scheduled for removable in POI 3.17 
+     */
+    @Deprecated
+    public static final UDFFinder DEFAULT = new AggregatingUDFFinder(AnalysisToolPak.instance);
 
     /**
      * Returns executor by specified name. Returns <code>null</code> if the function name is unknown.
@@ -34,5 +40,5 @@ public abstract class UDFFinder {
      * @param name Name of function.
      * @return Function executor.
      */
-    public abstract FreeRefFunction findFunction(String name);
+    FreeRefFunction findFunction(String name);
 }
index 74a861b414f004623a57e4836993a33d1adce14a..e278c16b0a1dd2eb7c3b9a389737f4199951f0c7 100644 (file)
@@ -33,7 +33,6 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Locale;
 import java.util.Map;
 import java.util.NoSuchElementException;
 import java.util.regex.Pattern;
@@ -57,6 +56,7 @@ import org.apache.poi.openxml4j.opc.TargetMode;
 import org.apache.poi.poifs.crypt.HashAlgorithm;
 import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.formula.SheetNameFormatter;
+import org.apache.poi.ss.formula.udf.AggregatingUDFFinder;
 import org.apache.poi.ss.formula.udf.IndexedUDFFinder;
 import org.apache.poi.ss.formula.udf.UDFFinder;
 import org.apache.poi.ss.usermodel.Row;
@@ -160,7 +160,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook {
      * The locator of user-defined functions.
      * By default includes functions from the Excel Analysis Toolpack
      */
-    private IndexedUDFFinder _udfFinder = new IndexedUDFFinder(UDFFinder.getDefault());
+    private IndexedUDFFinder _udfFinder = new IndexedUDFFinder(AggregatingUDFFinder.DEFAULT);
 
     /**
      * TODO
index 726c4e86faa3b4f881d833ac1eecb6ffa0e17b3a..0d88e2111b82ea255fa8dc25b77ee3f543b91ebc 100644 (file)
@@ -106,7 +106,7 @@ public final class TestWorkbook {
     public void testAddNameX() throws IOException {
         HSSFWorkbook hwb = new HSSFWorkbook();
         InternalWorkbook wb = TestHSSFWorkbook.getInternalWorkbook(hwb);
-        assertNotNull(wb.getNameXPtg("ISODD", UDFFinder.getDefault()));
+        assertNotNull(wb.getNameXPtg("ISODD", AggregatingUDFFinder.DEFAULT));
 
         FreeRefFunction NotImplemented = new FreeRefFunction() {
             public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) {