You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2014/10/30 17:19:54 UTC

svn commit: r1635533 - in /poi/trunk/src: java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java

Author: nick
Date: Thu Oct 30 16:19:54 2014
New Revision: 1635533

URL: http://svn.apache.org/r1635533
Log:
Add missing HSSFWorkbook constructor javadocs #57166

Modified:
    poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java

Modified: poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java?rev=1635533&r1=1635532&r2=1635533&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java Thu Oct 30 16:19:54 2014
@@ -184,20 +184,30 @@ public final class HSSFWorkbook extends 
         this(InternalWorkbook.createWorkbook());
     }
 
-	private HSSFWorkbook(InternalWorkbook book) {
-		super((DirectoryNode)null);
-		workbook = book;
-		_sheets = new ArrayList<HSSFSheet>(INITIAL_CAPACITY);
-		names = new ArrayList<HSSFName>(INITIAL_CAPACITY);
-	}
+    private HSSFWorkbook(InternalWorkbook book) {
+        super((DirectoryNode)null);
+        workbook = book;
+        _sheets = new ArrayList<HSSFSheet>(INITIAL_CAPACITY);
+        names = new ArrayList<HSSFName>(INITIAL_CAPACITY);
+    }
 
+    /**
+     * Given a POI POIFSFileSystem object, read in its Workbook along
+     *  with all related nodes, and populate the high and low level models.
+     * <p>This calls {@link #HSSFWorkbook(POIFSFileSystem, boolean)} with
+     *  preserve nodes set to true. 
+     * 
+     * @see #HSSFWorkbook(POIFSFileSystem, boolean)
+     * @see org.apache.poi.poifs.filesystem.POIFSFileSystem
+     * @exception IOException if the stream cannot be read
+     */
     public HSSFWorkbook(POIFSFileSystem fs) throws IOException {
         this(fs,true);
     }
 
     /**
-     * given a POI POIFSFileSystem object, read in its Workbook and populate the high and
-     * low level models.  If you're reading in a workbook...start here.
+     * Given a POI POIFSFileSystem object, read in its Workbook and populate 
+     * the high and low level models.  If you're reading in a workbook... start here!
      *
      * @param fs the POI filesystem that contains the Workbook stream.
      * @param preserveNodes whether to preseve other nodes, such as
@@ -208,8 +218,7 @@ public final class HSSFWorkbook extends 
      * @exception IOException if the stream cannot be read
      */
     public HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)
-            throws IOException
-    {
+            throws IOException {
         this(fs.getRoot(), fs, preserveNodes);
     }
 
@@ -338,13 +347,24 @@ public final class HSSFWorkbook extends 
         }
     }
 
-     public HSSFWorkbook(InputStream s) throws IOException {
-         this(s,true);
-     }
+    /**
+     * Companion to HSSFWorkbook(POIFSFileSystem), this constructs the 
+     *  POI filesystem around your inputstream, including all nodes.
+     * <p>This calls {@link #HSSFWorkbook(InputStream, boolean)} with
+     *  preserve nodes set to true. 
+     *
+     * @see #HSSFWorkbook(InputStream, boolean)
+     * @see #HSSFWorkbook(POIFSFileSystem)
+     * @see org.apache.poi.poifs.filesystem.POIFSFileSystem
+     * @exception IOException if the stream cannot be read
+     */
+    public HSSFWorkbook(InputStream s) throws IOException {
+        this(s,true);
+    }
 
     /**
-     * Companion to HSSFWorkbook(POIFSFileSystem), this constructs the POI filesystem around your
-     * inputstream.
+     * Companion to HSSFWorkbook(POIFSFileSystem), this constructs the 
+     * POI filesystem around your inputstream.
      *
      * @param s  the POI filesystem that contains the Workbook stream.
      * @param preserveNodes whether to preseve other nodes, such as
@@ -354,7 +374,6 @@ public final class HSSFWorkbook extends 
      * @see #HSSFWorkbook(POIFSFileSystem)
      * @exception IOException if the stream cannot be read
      */
-
     public HSSFWorkbook(InputStream s, boolean preserveNodes)
             throws IOException
     {

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java?rev=1635533&r1=1635532&r2=1635533&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java Thu Oct 30 16:19:54 2014
@@ -166,6 +166,29 @@ public final class TestXSSFFormulaEvalua
         assertEquals("\"Hello!\"",  evaluator.evaluate(cXSL_cell).formatAsString());
         assertEquals("\"Test A1\"", evaluator.evaluate(cXSL_sNR).formatAsString());
         assertEquals("142.0",   evaluator.evaluate(cXSL_gNR).formatAsString());
+        
+        
+        // Now add a formula that refers to a different workbook again
+        Cell cXSLX_nw_cell = rXSLX.createCell(42);
+        cXSLX_nw_cell.setCellFormula("[alt.xslx]Sheet1!$A$1");
+        
+        // Check it - TODO Is this correct? Or should it become [2]Sheet1!$A$1 ?
+        assertEquals("[alt.xslx]Sheet1!$A$1", cXSLX_nw_cell.getCellFormula());
+        
+        // Evaluate it, without a link to that workbook
+        try {
+            evaluator.evaluate(cXSLX_nw_cell);
+            fail("No cached value and no link to workbook, shouldn't evaluate");
+        } catch(Exception e) {}
+        
+        // Add a link, check it does
+        Workbook alt = new XSSFWorkbook();
+        alt.createSheet().createRow(0).createCell(0).setCellValue("In another workbook");
+        evaluators.put("alt.xslx", alt.getCreationHelper().createFormulaEvaluator());
+        evaluator.setupReferencedWorkbooks(evaluators);
+        
+        evaluator.evaluate(cXSLX_nw_cell);
+        assertEquals("In another workbook", cXSLX_nw_cell.getStringCellValue());
     }
     
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org