See 
<https://builds.apache.org/job/POI-DSL-OpenJDK/329/display/redirect?page=changes>

Changes:

[gwoolsey] Bug #61841 - Unnecessary long computation when evaluating VLOOKUP on 
all column reference

Found some optimizations in the general evaluation framework related to blank 
cells in rows beyond the last defined row of a sheet.

I don't see any issue with passing a bit of context down deeper into this 
framework, as it's all POI-internal and only had one calling path.

See the above bug for the performance analysis.  Not specifically related to 
VLOOKUP, but improves that case by more than 2/3 as well.

[fanningpj] use try-with-resources in more places

[fanningpj] use try-with-resources in more places

------------------------------------------
[...truncated 798.24 KB...]
  [javadoc] Loading source files for package 
org.apache.poi.ss.formula.functions...
  [javadoc] Loading source files for package org.apache.poi.ss.formula.ptg...
  [javadoc] Loading source files for package org.apache.poi.ss.formula.udf...
  [javadoc] Loading source files for package org.apache.poi.ss.usermodel...
  [javadoc] Loading source files for package 
org.apache.poi.ss.usermodel.charts...
  [javadoc] Loading source files for package 
org.apache.poi.ss.usermodel.helpers...
  [javadoc] Loading source files for package org.apache.poi.ss.util...
  [javadoc] Loading source files for package org.apache.poi.ss.util.cellwalk...
  [javadoc] Loading source files for package org.apache.poi.util...
  [javadoc] Loading source files for package org.apache.poi.wp.usermodel...
  [javadoc] Loading source files for package org.apache.poi.hdgf...
  [javadoc] Loading source files for package org.apache.poi.hdgf.chunks...
  [javadoc] Loading source files for package org.apache.poi.hdgf.dev...
  [javadoc] Loading source files for package org.apache.poi.hdgf.exceptions...
  [javadoc] Loading source files for package org.apache.poi.hdgf.extractor...
  [javadoc] Loading source files for package org.apache.poi.hdgf.pointers...
  [javadoc] Loading source files for package org.apache.poi.hdgf.streams...
  [javadoc] Loading source files for package org.apache.poi.hemf.extractor...
  [javadoc] Loading source files for package 
org.apache.poi.hemf.hemfplus.record...
  [javadoc] Loading source files for package org.apache.poi.hemf.record...
  [javadoc] Loading source files for package org.apache.poi.hmef...
  [javadoc] Loading source files for package org.apache.poi.hmef.attribute...
  [javadoc] Loading source files for package org.apache.poi.hmef.dev...
  [javadoc] Loading source files for package org.apache.poi.hmef.extractor...
  [javadoc] Loading source files for package org.apache.poi.hpbf...
  [javadoc] Loading source files for package org.apache.poi.hpbf.dev...
  [javadoc] Loading source files for package org.apache.poi.hpbf.extractor...
  [javadoc] Loading source files for package org.apache.poi.hpbf.model...
  [javadoc] Loading source files for package org.apache.poi.hpbf.model.qcbits...
  [javadoc] Loading source files for package org.apache.poi.hslf.blip...
  [javadoc] Loading source files for package org.apache.poi.hslf.dev...
  [javadoc] Loading source files for package org.apache.poi.hslf.exceptions...
  [javadoc] Loading source files for package org.apache.poi.hslf.extractor...
  [javadoc] Loading source files for package org.apache.poi.hslf.model...
  [javadoc] Loading source files for package 
org.apache.poi.hslf.model.textproperties...
  [javadoc] Loading source files for package org.apache.poi.hslf.record...
  [javadoc] Loading source files for package org.apache.poi.hslf.usermodel...
  [javadoc] Loading source files for package org.apache.poi.hslf.util...
  [javadoc] Loading source files for package org.apache.poi.hsmf...
  [javadoc] Loading source files for package org.apache.poi.hsmf.datatypes...
  [javadoc] Loading source files for package org.apache.poi.hsmf.dev...
  [javadoc] Loading source files for package org.apache.poi.hsmf.exceptions...
  [javadoc] Loading source files for package org.apache.poi.hsmf.extractor...
  [javadoc] Loading source files for package org.apache.poi.hsmf.parsers...
  [javadoc] Loading source files for package org.apache.poi.hssf.converter...
  [javadoc] Loading source files for package org.apache.poi.hwmf.draw...
  [javadoc] Loading source files for package org.apache.poi.hwmf.record...
  [javadoc] Loading source files for package org.apache.poi.hwmf.usermodel...
  [javadoc] Loading source files for package org.apache.poi.hwpf...
  [javadoc] Loading source files for package org.apache.poi.hwpf.converter...
  [javadoc] Loading source files for package org.apache.poi.hwpf.dev...
  [javadoc] Loading source files for package org.apache.poi.hwpf.extractor...
  [javadoc] Loading source files for package org.apache.poi.hwpf.model...
  [javadoc] Loading source files for package org.apache.poi.hwpf.model.io...
  [javadoc] Loading source files for package org.apache.poi.hwpf.model.types...
  [javadoc] Loading source files for package org.apache.poi.hwpf.sprm...
  [javadoc] Loading source files for package org.apache.poi.hwpf.usermodel...
  [javadoc] Loading source files for package 
org.apache.poi.openxml4j.exceptions...
  [javadoc] Loading source files for package org.apache.poi.openxml4j.opc...
  [javadoc] Loading source files for package 
org.apache.poi.openxml4j.opc.internal...
  [javadoc] Loading source files for package 
org.apache.poi.openxml4j.opc.internal.marshallers...
  [javadoc] Loading source files for package 
org.apache.poi.openxml4j.opc.internal.unmarshallers...
  [javadoc] Loading source files for package org.apache.poi.openxml4j.util...
  [javadoc] Loading source files for package org.apache.poi.poifs.crypt.agile...
  [javadoc] Loading source files for package org.apache.poi.poifs.crypt.dsig...
  [javadoc] Loading source files for package 
org.apache.poi.poifs.crypt.dsig.facets...
  [javadoc] Loading source files for package 
org.apache.poi.poifs.crypt.dsig.services...
  [javadoc] Loading source files for package org.apache.poi.poifs.crypt.temp...
  [javadoc] Loading source files for package 
org.apache.poi.xddf.usermodel.chart...
  [javadoc] Loading source files for package 
org.apache.poi.xddf.usermodel.text...
  [javadoc] Loading source files for package org.apache.poi.xdgf.exceptions...
  [javadoc] Loading source files for package org.apache.poi.xdgf.extractor...
  [javadoc] Loading source files for package org.apache.poi.xdgf.geom...
  [javadoc] Loading source files for package org.apache.poi.xdgf.usermodel...
  [javadoc] Loading source files for package 
org.apache.poi.xdgf.usermodel.section...
  [javadoc] Loading source files for package 
org.apache.poi.xdgf.usermodel.section.geometry...
  [javadoc] Loading source files for package 
org.apache.poi.xdgf.usermodel.shape...
  [javadoc] Loading source files for package 
org.apache.poi.xdgf.usermodel.shape.exceptions...
  [javadoc] Loading source files for package org.apache.poi.xdgf.util...
  [javadoc] Loading source files for package org.apache.poi.xdgf.xml...
  [javadoc] Loading source files for package org.apache.poi.xslf.extractor...
  [javadoc] Loading source files for package org.apache.poi.xslf.model...
  [javadoc] Loading source files for package org.apache.poi.xslf.usermodel...
  [javadoc] Loading source files for package org.apache.poi.xslf.util...
  [javadoc] Loading source files for package org.apache.poi.xssf...
  [javadoc] Loading source files for package org.apache.poi.xssf.binary...
  [javadoc] Loading source files for package org.apache.poi.xssf.dev...
  [javadoc] Loading source files for package 
org.apache.poi.xssf.eventusermodel...
  [javadoc] Loading source files for package org.apache.poi.xssf.extractor...
  [javadoc] Loading source files for package org.apache.poi.xssf.model...
  [javadoc] Loading source files for package org.apache.poi.xssf.streaming...
  [javadoc] Loading source files for package org.apache.poi.xssf.usermodel...
  [javadoc] Loading source files for package 
org.apache.poi.xssf.usermodel.charts...
  [javadoc] Loading source files for package 
org.apache.poi.xssf.usermodel.extensions...
  [javadoc] Loading source files for package 
org.apache.poi.xssf.usermodel.helpers...
  [javadoc] Loading source files for package org.apache.poi.xssf.util...
  [javadoc] Loading source files for package org.apache.poi.xwpf.extractor...
  [javadoc] Loading source files for package org.apache.poi.xwpf.model...
  [javadoc] Loading source files for package org.apache.poi.xwpf.usermodel...
  [javadoc] Constructing Javadoc information...
  [javadoc] Creating destination directory: 
"<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/tmp/site/build/site/apidocs/";>
  [javadoc] Standard Doclet version 1.8.0_151
  [javadoc] Building tree for all the packages and classes...
  [javadoc] Building index for all the packages and classes...
  [javadoc] Building index for all classes...

jar-src:
      [jar] Building jar: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist/maven/poi/poi-4.0.0-SNAPSHOT-sources.jar>
      [jar] Building jar: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist/maven/poi-scratchpad/poi-scratchpad-4.0.0-SNAPSHOT-sources.jar>
      [jar] Building jar: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist/maven/poi-ooxml/poi-ooxml-4.0.0-SNAPSHOT-sources.jar>
      [jar] Building jar: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist/maven/poi-examples/poi-examples-4.0.0-SNAPSHOT-sources.jar>
      [jar] Building jar: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist/maven/poi-excelant/poi-excelant-4.0.0-SNAPSHOT-sources.jar>

-do-jar-check-javadocs-package-list:

-do-jar-create-javadocs-package-list:

jar-javadocs:
     [echo] Building poi javadocs from 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/src/java>
    [mkdir] Created dir: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/tmp/maven-javadocs>
  [javadoc] Generating Javadoc
  [javadoc] Javadoc execution
      [jar] Building jar: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist/maven/poi/poi-4.0.0-SNAPSHOT-javadoc.jar>
     [echo] Building poi-scratchpad javadocs from 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/src/scratchpad/src>
   [delete] Deleting directory 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/tmp/maven-javadocs>
    [mkdir] Created dir: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/tmp/maven-javadocs>
  [javadoc] Generating Javadoc
  [javadoc] Javadoc execution
      [jar] Building jar: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist/maven/poi-scratchpad/poi-scratchpad-4.0.0-SNAPSHOT-javadoc.jar>
     [echo] Building poi-ooxml javadocs from 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/src/ooxml/java>
   [delete] Deleting directory 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/tmp/maven-javadocs>
    [mkdir] Created dir: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/tmp/maven-javadocs>
  [javadoc] Generating Javadoc
  [javadoc] Javadoc execution
      [jar] Building jar: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist/maven/poi-ooxml/poi-ooxml-4.0.0-SNAPSHOT-javadoc.jar>

assemble:
      [zip] Building zip: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist/poi-bin-4.0.0-SNAPSHOT-20171206.zip>
      [tar] Building tar: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/329/artifact/build/dist/poi-bin-4.0.0-SNAPSHOT-20171206.tar.gz>
      [zip] Building zip: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist/poi-src-4.0.0-SNAPSHOT-20171206.zip>
      [tar] Building tar: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/329/artifact/build/dist/poi-src-4.0.0-SNAPSHOT-20171206.tar.gz>
     [echo] Creating Maven POMs

maven-poms:
     [copy] Copying 6 files to 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist/maven>
     [echo] Maven POMs are located in 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist>
     [echo] Use ant dist-nexus to deploy the artifacts in the remote repository
     [echo] Distribution located in 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist>
     [echo] Use "ant dist-checksum" to create md5/sha1/sha512 checksums and GPG 
signatures

findbugs:
      [get] Getting: 
http://downloads.sourceforge.net/project/findbugs/findbugs/3.0.1/findbugs-noUpdateChecks-3.0.1.zip?download=
      [get] To: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/lib/findbugs-noUpdateChecks-3.0.1.zip>
      [get] 
http://downloads.sourceforge.net/project/findbugs/findbugs/3.0.1/findbugs-noUpdateChecks-3.0.1.zip?download=
 moved to 
https://superb-sea2.dl.sourceforge.net/project/findbugs/findbugs/3.0.1/findbugs-noUpdateChecks-3.0.1.zip
    [unzip] Expanding: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/lib/findbugs-noUpdateChecks-3.0.1.zip>
 into <https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/findbugs>
 [findbugs] Executing findbugs FindBugsTask from ant task
 [findbugs] Running FindBugs...
 [findbugs] Warnings generated: 44
 [findbugs] Calculating exit code...
 [findbugs] Setting 'bugs found' flag (1)
 [findbugs] Exit code set to: 1
 [findbugs] Java Result: 1
 [findbugs] Output saved to build/findbugs.xml
     [xslt] Transforming into 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build>
     [xslt] Processing 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/findbugs.xml> to 
<https://builds.apache.org/job/POI-DSL-OpenJDK/329/artifact/build/findbugs.html>
     [xslt] Loading stylesheet 
jar:<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/findbugs/lib/findbugs.jar!/fancy-hist.xsl>

release-notes:
     [copy] Copying 1 file to 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/dist>

rat-check:
    [mkdir] Created dir: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build/rat>
     [echo] 
     [echo] *****************************************************
     [echo] Summary
     [echo] -------
     [echo] Generated at: 2017-12-06T01:11:51+00:00
     [echo] 
     [echo] Notes: 1
     [echo] Binaries: 120
     [echo] Archives: 0
     [echo] Standards: 3662
     [echo] 
     [echo] Apache Licensed: 3661
     [echo] Generated Documents: 0
     [echo] 
     [echo] JavaDocs are generated, thus a license header is optional.
     [echo] Generated files do not require license headers.
     [echo] 
     [echo] 1 Unknown Licenses
     [echo] 
     [echo] *****************************************************
     [echo] 
     [echo] Files with unapproved licenses:
     [echo] 
     [echo]   
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestVlookup.java>
     [echo] 
     [echo] *****************************************************
     [echo] 
     [echo] *****************************************************
     [echo]   Files with Apache License headers will be marked AL
     [echo]   Binary files (which do not require any license headers) will be 
marked B
     [echo]   Compressed archives will be marked A
     [echo]   Notices, licenses etc. will be marked N
     [echo]  !????? 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestVlookup.java>
     [echo]  
     [echo] *****************************************************
     [echo] 
     [echo]  Printing headers for text files without a valid license header...
     [echo]  
     [echo] =====================================================
     [echo] == File: 
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestVlookup.java>
     [echo] =====================================================
     [echo] package org.apache.poi.ss.formula.functions;
     [echo] 
     [echo] import org.apache.poi.ss.usermodel.CellType;
     [echo] import org.apache.poi.ss.usermodel.FormulaEvaluator;
     [echo] import org.apache.poi.ss.usermodel.Workbook;
     [echo] import org.apache.poi.xssf.XSSFTestDataSamples;
     [echo] import org.junit.Test;
     [echo] 
     [echo] import junit.framework.TestCase;
     [echo] 
     [echo] /**
     [echo]  * Test the VLOOKUP function
     [echo]  */
     [echo] public class TestVlookup extends TestCase {
     [echo] 
     [echo]     @Test
     [echo]     public void testFullColumnAreaRef61841() {
     [echo]         final Workbook wb = 
XSSFTestDataSamples.openSampleWorkbook("VLookupFullColumn.xlsx");
     [echo]         FormulaEvaluator feval = 
wb.getCreationHelper().createFormulaEvaluator();
     [echo]         feval.evaluateAll();
     [echo]         assertEquals("Wrong lookup value",  "Value1", 
feval.evaluate(wb.getSheetAt(0).getRow(3).getCell(1)).getStringValue());
     [echo]         assertEquals("Lookup should return #N/A", CellType.ERROR, 
feval.evaluate(wb.getSheetAt(0).getRow(4).getCell(1)).getCellType());
     [echo]     }
     [echo] 
     [echo] }

BUILD FAILED
<https://builds.apache.org/job/POI-DSL-OpenJDK/ws/build.xml>:2075: condition 
satisfied

Total time: 26 minutes 36 seconds
Build step 'Invoke Ant' marked build as failure
Skipping publisher since build result is FAILURE
Archiving artifacts
[Fast Archiver] Compressed 235.99 MB of artifacts by 41.9% relative to #328
Skipping publisher since build result is FAILURE
Recording test results

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org

Reply via email to