Bug 52084

Summary: [PATCH] byte level verifier of SST serialization in various methods
Product: POI Reporter: Shoji KUZUKAMI <kuz+poi>
Component: HSSFAssignee: POI Developers List <dev>
Status: NEEDINFO ---    
Severity: enhancement Keywords: PatchAvailable
Priority: P2    
Version: 3.7-FINAL   
Target Milestone: ---   
Hardware: PC   
OS: All   
Bug Depends on:    
Bug Blocks: 52086    
Attachments: patch file
verification of performance

Description Shoji KUZUKAMI 2011-10-25 13:55:33 UTC
Created attachment 27843 [details]
patch file

This bug report is an extracted abstract from the mail 'SSTRecord.serialize() performance improvement patch for huge hssf output' in the 'dev@poi.apache.org' ML.
Please use the 'patch' program to patch the files, such as 'patch -p 0
< HOGE.patch'.
I tried to use eclipse to patch them, but I found that any trial will fail.
---

This patch provides new two features.
The first one is a byte level test method named
'testSSTRecord_DigestCheck()' to investigate a hack correctness.
Another one is an enumeration class named 'SerializeFunction' to
dispatch various serialization methods of SST record easily.

Both of the features are introduced into the
org.apache.poi.hssf.record.TestSSTRecord.java.
And some trivial accessibility changes of other methods are also
contained in this patch.

The enum 'SerializeFunction' in default consists of two instances to dispatch
the memory output method 'Memory' and the raw-file based output method
'StreamFile'.

The test method of 'testSSTRecord_DigestCheck()' proves that
there are no differences in the output bytes between the 'Memory'
method and 'StreamFile' method
and their results are identical to the original results
in the message digest of byte.

If you want to check by yourself, please run the whole set of unit
tests (ant test-all?) in the poi project
in which the patch automatically integrates the
'testSSTRecord_DigestCheck()' method.
Comment 1 Yegor Kozlov 2012-02-22 12:18:10 UTC
I'm changing the status to NEEDINFO until my questions in Bug 52986 are answered.

Yegor
Comment 2 Shoji KUZUKAMI 2012-02-22 15:46:45 UTC
Created attachment 28362 [details]
verification of performance