cleanup sxxsf temp files after tests, remove non-ascii characters from source code, polished test output

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1139518 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Yegor Kozlov 2011-06-25 10:56:46 +00:00
parent f51b59e51e
commit e4cd5a5b00
16 changed files with 61 additions and 33 deletions

View File

@ -66,6 +66,12 @@ under the License.
<property name="jdk.version.class" value="1.5" description="JDK version of generated class files"/>
<property name="compile.debug" value="true"/>
<!--
Logging is suppressed by default.
To redirect log output to console, run ant with -Dorg.apache.poi.util.POILogger=org.apache.poi.util.SystemOutLogger
-->
<property name="org.apache.poi.util.POILogger" value="org.apache.poi.util.NullLogger"/>
<!-- issue warnings if source code contains unmappable characters for encoding ASCII -->
<property name="java.source.encoding" value="ASCII"/>
@ -165,6 +171,7 @@ under the License.
<propertyset id="junit.properties">
<propertyref name="POI.testdata.path"/>
<propertyref name="java.awt.headless"/>
<propertyref name="org.apache.poi.util.POILogger"/>
</propertyset>
<path id="main.classpath">

View File

@ -25,11 +25,8 @@ import java.util.List;
import org.apache.poi.hssf.record.cont.ContinuableRecordInput;
import org.apache.poi.hssf.record.RecordInputStream;
import org.apache.poi.hssf.record.cont.ContinuableRecordOutput;
import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
import org.apache.poi.util.LittleEndianInput;
import org.apache.poi.util.LittleEndianOutput;
import org.apache.poi.util.StringUtil;
import org.apache.poi.poifs.dev.POIFSLister;
import org.apache.poi.util.*;
/**
* Title: Unicode String<p/>
@ -40,6 +37,8 @@ import org.apache.poi.util.StringUtil;
* REFERENCE: PG 951 Excel Binary File Format (.xls) Structure Specification v20091214
*/
public class UnicodeString implements Comparable<UnicodeString> { // TODO - make this final when the compatibility version is removed
private static POILogger _logger = POILogFactory.getLogger(UnicodeString.class);
private short field_1_charCount;
private byte field_2_optionflags;
private String field_3_string;
@ -138,7 +137,7 @@ public class UnicodeString implements Comparable<UnicodeString> { // TODO - make
// Spot corrupt records
if(reserved != 1) {
System.err.println("Warning - ExtRst was has wrong magic marker, expecting 1 but found " + reserved + " - ignoring");
_logger.log(POILogger.WARN, "Warning - ExtRst has wrong magic marker, expecting 1 but found " + reserved + " - ignoring");
// Grab all the remaining data, and ignore it
for(int i=0; i<expectedLength-2; i++) {
in.readByte();
@ -438,7 +437,7 @@ public class UnicodeString implements Comparable<UnicodeString> { // TODO - make
if (isExtendedText() && (extensionLength > 0)) {
field_5_ext_rst = new ExtRst(new ContinuableRecordInput(in), extensionLength);
if(field_5_ext_rst.getDataSize()+4 != extensionLength) {
System.err.println("ExtRst was supposed to be " + extensionLength + " bytes long, but seems to actually be " + (field_5_ext_rst.getDataSize()+4));
_logger.log(POILogger.WARN, "ExtRst was supposed to be " + extensionLength + " bytes long, but seems to actually be " + (field_5_ext_rst.getDataSize() + 4));
}
}
}

View File

@ -438,7 +438,7 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet {
*
* <p>
* Character width is defined as the maximum digit width
* of the numbers <code>0, 1, 2, 9</code> as rendered
* of the numbers <code>0, 1, 2, ... 9</code> as rendered
* using the default font (first font in the workbook).
* <br/>
* Unless you are using a very special font, the default character is '0' (zero),

View File

@ -23,9 +23,7 @@ import java.util.*;
import org.apache.poi.poifs.common.POIFSBigBlockSize;
import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.util.IntList;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts;
import org.apache.poi.util.*;
/**
* This class manages and creates the Block Allocation Table, which is
@ -43,7 +41,8 @@ import org.apache.poi.util.LittleEndianConsts;
* @author Marc Johnson (mjohnson at apache dot org)
*/
public final class BlockAllocationTableReader {
private static final POILogger _logger = POILogFactory.getLogger(BlockAllocationTableReader.class);
/**
* Maximum number size (in blocks) of the allocation table as supported by
* POI.<br/>
@ -227,12 +226,12 @@ public final class BlockAllocationTableReader {
} catch(IOException e) {
if(currentBlock == headerPropertiesStartBlock) {
// Special case where things are in the wrong order
System.err.println("Warning, header block comes after data blocks in POIFS block listing");
_logger.log(POILogger.WARN, "Warning, header block comes after data blocks in POIFS block listing");
currentBlock = POIFSConstants.END_OF_CHAIN;
} else if(currentBlock == 0 && firstPass) {
// Special case where the termination isn't done right
// on an empty set
System.err.println("Warning, incorrectly terminated empty data blocks in POIFS block listing (should end at -2, ended at 0)");
_logger.log(POILogger.WARN, "Warning, incorrectly terminated empty data blocks in POIFS block listing (should end at -2, ended at 0)");
currentBlock = POIFSConstants.END_OF_CHAIN;
} else {
// Ripple up

View File

@ -127,7 +127,7 @@ public interface Sheet extends Iterable<Row> {
*
* <p>
* Character width is defined as the maximum digit width
* of the numbers <code>0, 1, 2, 9</code> as rendered
* of the numbers <code>0, 1, 2, ... 9</code> as rendered
* using the default font (first font in the workbook).
* <br/>
* Unless you are using a very special font, the default character is '0' (zero),
@ -167,7 +167,7 @@ public interface Sheet extends Iterable<Row> {
*
* <p>
* Character width is defined as the maximum digit width
* of the numbers <code>0, 1, 2, 9</code> as rendered
* of the numbers <code>0, 1, 2, ... 9</code> as rendered
* using the default font (first font in the workbook)
* </p>
*

View File

@ -24,6 +24,8 @@ import java.io.UnsupportedEncodingException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.InvalidOperationException;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
/**
* Helper for part and pack URI.
@ -32,6 +34,7 @@ import org.apache.poi.openxml4j.exceptions.InvalidOperationException;
* @version 0.1
*/
public final class PackagingURIHelper {
private final static POILogger _logger = POILogFactory.getLogger(PackagingURIHelper.class);
/**
* Package root URI.
@ -293,7 +296,7 @@ public final class PackagingURIHelper {
try {
targetURI = new URI(path.substring(1));
} catch (Exception e) {
System.err.println(e);
_logger.log(POILogger.WARN, e);
return null;
}
}
@ -331,7 +334,7 @@ public final class PackagingURIHelper {
try {
return new URI(retVal.toString());
} catch (Exception e) {
System.err.println(e);
_logger.log(POILogger.WARN, e);
return null;
}
}
@ -373,7 +376,7 @@ public final class PackagingURIHelper {
try {
return new URI(retVal.toString());
} catch (Exception e) {
System.err.println(e);
_logger.log(POILogger.WARN, e);
return null;
}
}

View File

@ -1261,7 +1261,7 @@ public class SXSSFSheet implements Sheet, Cloneable
public SheetDataWriter() throws IOException
{
_fd = File.createTempFile("sheet", ".xml");
_fd = File.createTempFile("poi-sxxsf-sheet", ".xml");
_fd.deleteOnExit();
_out = new BufferedWriter(new FileWriter(_fd));
_out.write("<sheetData>\n");

View File

@ -533,7 +533,8 @@ public class SXSSFWorkbook implements Workbook
public void write(OutputStream stream) throws IOException
{
//Save the template
File tmplFile = File.createTempFile("template", ".xlsx");
File tmplFile = File.createTempFile("poi-sxxsf-template", ".xlsx");
tmplFile.deleteOnExit();
FileOutputStream os = new FileOutputStream(tmplFile);
_wb.write(os);
os.close();

View File

@ -1935,7 +1935,7 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
*
* <p>
* Character width is defined as the maximum digit width
* of the numbers <code>0, 1, 2, 9</code> as rendered
* of the numbers <code>0, 1, 2, ... 9</code> as rendered
* using the default font (first font in the workbook).
* <br/>
* Unless you are using a very special font, the default character is '0' (zero),

View File

@ -148,7 +148,7 @@ public final class TestPOIXMLDocument extends TestCase {
doc.parse(new TestFactory());
for(POIXMLDocumentPart rel : doc.getRelations()){
System.out.println(rel);
//TODO finish me
}
}

View File

@ -21,6 +21,8 @@ import java.io.IOException;
import org.apache.poi.hwpf.model.io.HWPFFileSystem;
import org.apache.poi.hwpf.model.io.HWPFOutputStream;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
/**
* FontTable or in MS terminology sttbfffn is a common data structure written in all
@ -32,6 +34,7 @@ import org.apache.poi.util.LittleEndian;
*/
public final class FontTable
{
private final static POILogger _logger = POILogFactory.getLogger(FontTable.class);
private short _stringCount;// how many strings are included in the string table
private short _extraDataSz;// size in bytes of the extra data
@ -86,7 +89,7 @@ public final class FontTable
{
if(chpFtc >= _stringCount)
{
System.out.println("Mismatch in chpFtc with stringCount");
_logger.log(POILogger.INFO, "Mismatch in chpFtc with stringCount");
return null;
}
@ -97,7 +100,7 @@ public final class FontTable
{
if(chpFtc >= _stringCount)
{
System.out.println("Mismatch in chpFtc with stringCount");
_logger.log(POILogger.INFO, "Mismatch in chpFtc with stringCount");
return null;
}

View File

@ -17,6 +17,9 @@
package org.apache.poi.hwpf.model;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
import java.util.Arrays;
/**
@ -30,6 +33,7 @@ import java.util.Arrays;
*/
public abstract class PropertyNode implements Comparable, Cloneable
{
private final static POILogger _logger = POILogFactory.getLogger(PropertyNode.class);
protected Object _buf;
/** The start, in characters */
private int _cpStart;
@ -49,7 +53,7 @@ public abstract class PropertyNode implements Comparable, Cloneable
_buf = buf;
if(_cpStart < 0) {
System.err.println("A property claimed to start before zero, at " + _cpStart + "! Resetting it to zero, and hoping for the best");
_logger.log(POILogger.WARN, "A property claimed to start before zero, at " + _cpStart + "! Resetting it to zero, and hoping for the best");
_cpStart = 0;
}
}

View File

@ -23,12 +23,15 @@ import java.util.List;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.hwpf.model.io.*;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
/**
* @author Ryan Ackley
*/
public class SectionTable
{
private final static POILogger _logger = POILogFactory.getLogger(SectionTable.class);
private static final int SED_SIZE = 12;
protected ArrayList<SEPX> _sections = new ArrayList<SEPX>();
@ -92,7 +95,7 @@ public class SectionTable
}
}
if(! matchAt && matchHalf) {
System.err.println("Your document seemed to be mostly unicode, but the section definition was in bytes! Trying anyway, but things may well go wrong!");
_logger.log(POILogger.WARN, "Your document seemed to be mostly unicode, but the section definition was in bytes! Trying anyway, but things may well go wrong!");
for(int i=0; i<_sections.size(); i++) {
SEPX s = _sections.get(i);
GenericPropertyNode node = sedPlex.getProperty(i);

View File

@ -115,10 +115,12 @@ public final class TestVisioExtractor extends TestCase {
// Check
capture.flush();
String text = baos.toString();
assertEquals(
// YK: stdout can contain lots of other stuff if logging is sent to console
// ( -Dorg.apache.poi.util.POILogger=org.apache.poi.util.SystemOutLogger)
assertTrue( text.contains(
"text\nView\n" +
"Test View\nI am a test view\n" +
"Some random text, on a page\n",
text);
"Some random text, on a page\n"
));
}
}

View File

@ -21,11 +21,14 @@ import org.apache.poi.hssf.HSSFITestDataProvider;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
/**
* Tests for {@link HSSFDataFormat}
*/
public final class TestHSSFDataFormat extends BaseTestDataFormat {
private static POILogger _logger = POILogFactory.getLogger(TestHSSFDataFormat.class);
public TestHSSFDataFormat() {
super(HSSFITestDataProvider.instance);
@ -61,8 +64,9 @@ public final class TestHSSFDataFormat extends BaseTestDataFormat {
CellStyle style = cell.getCellStyle();
String fmt = style.getDataFormatString();
if(fmt == null)
System.out.println(cell + ": " + fmt);
if(fmt == null) {
_logger.log(POILogger.WARN, cell + ": " + fmt);
}
}
}
}

View File

@ -29,8 +29,11 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.poifs.filesystem.POIFSWriterEvent;
import org.apache.poi.poifs.filesystem.POIFSWriterListener;
import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
public final class TestEmptyDocument extends TestCase {
private static POILogger _logger = POILogFactory.getLogger(TestEmptyDocument.class);
public void testSingleEmptyDocument() throws IOException {
POIFSFileSystem fs = new POIFSFileSystem();
@ -47,7 +50,7 @@ public final class TestEmptyDocument extends TestCase {
DirectoryEntry dir = fs.getRoot();
dir.createDocument("Foo", 0, new POIFSWriterListener() {
public void processPOIFSWriterEvent(POIFSWriterEvent event) {
System.out.println("written");
_logger.log(POILogger.WARN, "written");
}
});