From 739599059a60865159c36b4de826565e6d138e00 Mon Sep 17 00:00:00 2001 From: Andreas Beeker Date: Tue, 6 Jun 2017 22:21:40 +0000 Subject: [PATCH] Replace HWPFOutputStream with ByteArrayOutputStream - it doesn't add any new features git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1797838 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/hwpf/model/BookmarksTables.java | 20 ++++---- .../apache/poi/hwpf/model/CHPBinTable.java | 14 ++--- .../poi/hwpf/model/ComplexFileTable.java | 10 ++-- .../poi/hwpf/model/DocumentProperties.java | 4 +- .../poi/hwpf/model/FIBFieldHandler.java | 8 +-- .../apache/poi/hwpf/model/FieldsTables.java | 10 ++-- .../poi/hwpf/model/FileInformationBlock.java | 11 +--- .../org/apache/poi/hwpf/model/FontTable.java | 6 +-- .../org/apache/poi/hwpf/model/LFOData.java | 4 +- .../org/apache/poi/hwpf/model/ListTables.java | 9 ++-- .../apache/poi/hwpf/model/NotesTables.java | 18 +++---- .../apache/poi/hwpf/model/PAPBinTable.java | 10 ++-- .../poi/hwpf/model/PAPFormattedDiskPage.java | 6 +-- .../src/org/apache/poi/hwpf/model/PlfLfo.java | 8 +-- .../hwpf/model/RevisionMarkAuthorTable.java | 4 +- .../apache/poi/hwpf/model/SavedByTable.java | 4 +- .../apache/poi/hwpf/model/SectionTable.java | 14 ++--- .../org/apache/poi/hwpf/model/SttbUtils.java | 14 +++-- .../org/apache/poi/hwpf/model/StyleSheet.java | 4 +- .../apache/poi/hwpf/model/TextPieceTable.java | 8 +-- .../poi/hwpf/model/io/HWPFFileSystem.java | 11 ++-- .../poi/hwpf/model/io/HWPFOutputStream.java | 51 ------------------- .../apache/poi/hwpf/model/TestFontTable.java | 42 +++++++-------- .../apache/poi/hwpf/model/TestListTables.java | 4 +- .../poi/hwpf/model/TestPAPBinTable.java | 29 ++++++----- .../apache/poi/hwpf/model/TestStyleSheet.java | 46 ++++++++--------- .../apache/poi/hwpf/usermodel/TestBugs.java | 12 ++--- 27 files changed, 156 insertions(+), 225 deletions(-) delete mode 100644 src/scratchpad/src/org/apache/poi/hwpf/model/io/HWPFOutputStream.java diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/BookmarksTables.java b/src/scratchpad/src/org/apache/poi/hwpf/model/BookmarksTables.java index 29910b0b9..e860165df 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/BookmarksTables.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/BookmarksTables.java @@ -16,12 +16,12 @@ ==================================================================== */ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.util.Internal; import org.apache.poi.util.POILogFactory; import org.apache.poi.util.POILogger; @@ -148,7 +148,7 @@ public class BookmarksTables } public void writePlcfBkmkf( FileInformationBlock fib, - HWPFOutputStream tableStream ) throws IOException + ByteArrayOutputStream tableStream ) throws IOException { if ( descriptorsFirst == null || descriptorsFirst.length() == 0 ) { @@ -157,16 +157,16 @@ public class BookmarksTables return; } - int start = tableStream.getOffset(); + int start = tableStream.size(); tableStream.write( descriptorsFirst.toByteArray() ); - int end = tableStream.getOffset(); + int end = tableStream.size(); fib.setFcPlcfbkf( start ); fib.setLcbPlcfbkf( end - start ); } public void writePlcfBkmkl( FileInformationBlock fib, - HWPFOutputStream tableStream ) throws IOException + ByteArrayOutputStream tableStream ) throws IOException { if ( descriptorsLim == null || descriptorsLim.length() == 0 ) { @@ -175,16 +175,16 @@ public class BookmarksTables return; } - int start = tableStream.getOffset(); + int start = tableStream.size(); tableStream.write( descriptorsLim.toByteArray() ); - int end = tableStream.getOffset(); + int end = tableStream.size(); fib.setFcPlcfbkl( start ); fib.setLcbPlcfbkl( end - start ); } public void writeSttbfBkmk( FileInformationBlock fib, - HWPFOutputStream tableStream ) throws IOException + ByteArrayOutputStream tableStream ) throws IOException { if ( names == null || names.isEmpty() ) { @@ -193,10 +193,10 @@ public class BookmarksTables return; } - int start = tableStream.getOffset(); + int start = tableStream.size(); SttbUtils.writeSttbfBkmk( names.toArray( new String[names.size()] ), tableStream ); - int end = tableStream.getOffset(); + int end = tableStream.size(); fib.setFcSttbfbkmk( start ); fib.setLcbSttbfbkmk( end - start ); diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/CHPBinTable.java b/src/scratchpad/src/org/apache/poi/hwpf/model/CHPBinTable.java index ee4a37727..b211248ce 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/CHPBinTable.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/CHPBinTable.java @@ -17,6 +17,7 @@ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -31,7 +32,6 @@ import java.util.Map; import java.util.Set; import org.apache.poi.hwpf.model.io.HWPFFileSystem; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.hwpf.sprm.SprmBuffer; import org.apache.poi.hwpf.sprm.SprmIterator; import org.apache.poi.hwpf.sprm.SprmOperation; @@ -448,14 +448,14 @@ public class CHPBinTable public void writeTo( HWPFFileSystem sys, int fcMin, CharIndexTranslator translator ) throws IOException { - HWPFOutputStream docStream = sys.getStream( "WordDocument" ); - HWPFOutputStream tableStream = sys.getStream( "1Table" ); + ByteArrayOutputStream docStream = sys.getStream( "WordDocument" ); + ByteArrayOutputStream tableStream = sys.getStream( "1Table" ); writeTo( docStream, tableStream, fcMin, translator ); } - public void writeTo( HWPFOutputStream wordDocumentStream, - HWPFOutputStream tableStream, int fcMin, + public void writeTo( ByteArrayOutputStream wordDocumentStream, + ByteArrayOutputStream tableStream, int fcMin, CharIndexTranslator translator ) throws IOException { @@ -470,7 +470,7 @@ public class CHPBinTable PlexOfCps bte = new PlexOfCps( 4 ); // each FKP must start on a 512 byte page. - int docOffset = wordDocumentStream.getOffset(); + int docOffset = wordDocumentStream.size(); int mod = docOffset % POIFSConstants.SMALLER_BIG_BLOCK_SIZE; if (mod != 0) { @@ -479,7 +479,7 @@ public class CHPBinTable } // get the page number for the first fkp - docOffset = wordDocumentStream.getOffset(); + docOffset = wordDocumentStream.size(); int pageNum = docOffset/POIFSConstants.SMALLER_BIG_BLOCK_SIZE; // get the ending fc diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/ComplexFileTable.java b/src/scratchpad/src/org/apache/poi/hwpf/model/ComplexFileTable.java index dc530bd64..36792f41e 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/ComplexFileTable.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/ComplexFileTable.java @@ -17,13 +17,13 @@ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.nio.charset.Charset; import java.util.LinkedList; import java.util.List; import org.apache.poi.hwpf.model.io.HWPFFileSystem; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.hwpf.sprm.SprmBuffer; import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndian; @@ -82,14 +82,14 @@ public class ComplexFileTable { @Deprecated public void writeTo(HWPFFileSystem sys) throws IOException { - HWPFOutputStream docStream = sys.getStream("WordDocument"); - HWPFOutputStream tableStream = sys.getStream("1Table"); + ByteArrayOutputStream docStream = sys.getStream("WordDocument"); + ByteArrayOutputStream tableStream = sys.getStream("1Table"); writeTo(docStream, tableStream); } - public void writeTo(HWPFOutputStream wordDocumentStream, - HWPFOutputStream tableStream) throws IOException { + public void writeTo(ByteArrayOutputStream wordDocumentStream, + ByteArrayOutputStream tableStream) throws IOException { tableStream.write(TEXT_PIECE_TABLE_TYPE); byte[] table = _tpt.writeTo(wordDocumentStream); diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/DocumentProperties.java b/src/scratchpad/src/org/apache/poi/hwpf/model/DocumentProperties.java index dc2e36641..14c6981e8 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/DocumentProperties.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/DocumentProperties.java @@ -17,9 +17,9 @@ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.hwpf.model.types.DOPAbstractType; import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndian; @@ -65,7 +65,7 @@ public final class DocumentProperties extends DOPAbstractType super.serialize( data, offset ); } - public void writeTo( HWPFOutputStream tableStream ) throws IOException + public void writeTo( ByteArrayOutputStream tableStream ) throws IOException { byte[] supported = new byte[getSize()]; serialize( supported, 0 ); diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java b/src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java index ae830f62c..18543f5e4 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java @@ -17,13 +17,13 @@ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.Map; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.POILogFactory; @@ -223,7 +223,7 @@ public final class FIBFieldHandler return _fields.length / 2; } - void writeTo(byte[] mainStream, int offset, HWPFOutputStream tableStream) + void writeTo(byte[] mainStream, int offset, ByteArrayOutputStream tableStream) throws IOException { for (int x = 0; x < _fields.length/2; x++) @@ -231,8 +231,8 @@ public final class FIBFieldHandler UnhandledDataStructure ds = _unknownMap.get(Integer.valueOf(x)); if (ds != null) { - _fields[x * 2] = tableStream.getOffset(); - LittleEndian.putInt(mainStream, offset, tableStream.getOffset()); + _fields[x * 2] = tableStream.size(); + LittleEndian.putInt(mainStream, offset, tableStream.size()); offset += LittleEndian.INT_SIZE; byte[] buf = ds.getBuf(); diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/FieldsTables.java b/src/scratchpad/src/org/apache/poi/hwpf/model/FieldsTables.java index 4206ce834..4cc1be938 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/FieldsTables.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/FieldsTables.java @@ -19,12 +19,12 @@ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.util.Internal; /** @@ -131,19 +131,19 @@ public class FieldsTables } private int savePlex( FileInformationBlock fib, FieldsDocumentPart part, - PlexOfCps plexOfCps, HWPFOutputStream outputStream ) + PlexOfCps plexOfCps, ByteArrayOutputStream outputStream ) throws IOException { if ( plexOfCps == null || plexOfCps.length() == 0 ) { - fib.setFieldsPlcfOffset( part, outputStream.getOffset() ); + fib.setFieldsPlcfOffset( part, outputStream.size() ); fib.setFieldsPlcfLength( part, 0 ); return 0; } byte[] data = plexOfCps.toByteArray(); - int start = outputStream.getOffset(); + int start = outputStream.size(); int length = data.length; outputStream.write( data ); @@ -154,7 +154,7 @@ public class FieldsTables return length; } - public void write( FileInformationBlock fib, HWPFOutputStream tableStream ) + public void write( FileInformationBlock fib, ByteArrayOutputStream tableStream ) throws IOException { for ( FieldsDocumentPart part : FieldsDocumentPart.values() ) diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/FileInformationBlock.java b/src/scratchpad/src/org/apache/poi/hwpf/model/FileInformationBlock.java index 0c14ca05d..6f66e9aef 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/FileInformationBlock.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/FileInformationBlock.java @@ -17,14 +17,13 @@ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.HashSet; import java.util.Locale; -import org.apache.poi.EncryptedDocumentException; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.POILogFactory; @@ -67,12 +66,6 @@ public final class FileInformationBlock offset = FibBase.getSize(); assert offset == 32; - if ( _fibBase.isFEncrypted() ) - { - throw new EncryptedDocumentException( - "Cannot process encrypted word file" ); - } - _csw = LittleEndian.getUShort( mainDocument, offset ); offset += LittleEndian.SHORT_SIZE; assert offset == 34; @@ -1074,7 +1067,7 @@ public final class FileInformationBlock offset ); } - public void writeTo( byte[] mainStream, HWPFOutputStream tableStream ) + public void writeTo( byte[] mainStream, ByteArrayOutputStream tableStream ) throws IOException { _cbRgFcLcb = _fieldHandler.getFieldsCount(); diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/FontTable.java b/src/scratchpad/src/org/apache/poi/hwpf/model/FontTable.java index 6f6d3b9cd..dc25a8307 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/FontTable.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/FontTable.java @@ -17,10 +17,10 @@ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; 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.Internal; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.POILogFactory; @@ -118,11 +118,11 @@ public final class FontTable @Deprecated public void writeTo( HWPFFileSystem sys ) throws IOException { - HWPFOutputStream tableStream = sys.getStream( "1Table" ); + ByteArrayOutputStream tableStream = sys.getStream( "1Table" ); writeTo( tableStream ); } - public void writeTo( HWPFOutputStream tableStream ) throws IOException + public void writeTo( ByteArrayOutputStream tableStream ) throws IOException { byte[] buf = new byte[LittleEndian.SHORT_SIZE]; LittleEndian.putShort(buf, 0, _stringCount); diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/LFOData.java b/src/scratchpad/src/org/apache/poi/hwpf/model/LFOData.java index 89f822b22..3ee406321 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/LFOData.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/LFOData.java @@ -18,10 +18,10 @@ */ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.Arrays; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndian; @@ -80,7 +80,7 @@ public class LFOData return result; } - void writeTo( HWPFOutputStream tableStream ) throws IOException + void writeTo( ByteArrayOutputStream tableStream ) throws IOException { LittleEndian.putInt( _cp, tableStream ); for ( ListFormatOverrideLevel lfolvl : _rgLfoLvl ) diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java b/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java index d3865d25c..2d28fd0a3 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java @@ -22,7 +22,6 @@ import java.io.IOException; import java.util.LinkedHashMap; import java.util.NoSuchElementException; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.POILogFactory; @@ -81,9 +80,9 @@ public final class ListTables } public void writeListDataTo( FileInformationBlock fib, - HWPFOutputStream tableStream ) throws IOException + ByteArrayOutputStream tableStream ) throws IOException { - final int startOffset = tableStream.getOffset(); + final int startOffset = tableStream.size(); fib.setFcPlfLst( startOffset ); int listSize = _listMap.size(); @@ -109,12 +108,12 @@ public final class ListTables * account for the array of LVLs. -- Page 76 of 621 -- [MS-DOC] -- * v20110315 Word (.doc) Binary File Format */ - fib.setLcbPlfLst( tableStream.getOffset() - startOffset ); + fib.setLcbPlfLst( tableStream.size() - startOffset ); tableStream.write( levelBuf.toByteArray() ); } public void writeListOverridesTo( FileInformationBlock fib, - HWPFOutputStream tableStream ) throws IOException + ByteArrayOutputStream tableStream ) throws IOException { _plfLfo.writeTo( fib, tableStream ); } diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/NotesTables.java b/src/scratchpad/src/org/apache/poi/hwpf/model/NotesTables.java index eb5a1008c..24b0328b4 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/NotesTables.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/NotesTables.java @@ -16,9 +16,9 @@ ==================================================================== */ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.util.Internal; /** @@ -82,37 +82,37 @@ public class NotesTables textPositionsStart, textPositionsLength, 0 ); } - public void writeRef( FileInformationBlock fib, HWPFOutputStream tableStream ) + public void writeRef( FileInformationBlock fib, ByteArrayOutputStream tableStream ) throws IOException { if ( descriptors == null || descriptors.length() == 0 ) { - fib.setNotesDescriptorsOffset( noteType, tableStream.getOffset() ); + fib.setNotesDescriptorsOffset( noteType, tableStream.size() ); fib.setNotesDescriptorsSize( noteType, 0 ); return; } - int start = tableStream.getOffset(); + int start = tableStream.size(); tableStream.write( descriptors.toByteArray() ); - int end = tableStream.getOffset(); + int end = tableStream.size(); fib.setNotesDescriptorsOffset( noteType, start ); fib.setNotesDescriptorsSize( noteType, end - start ); } - public void writeTxt( FileInformationBlock fib, HWPFOutputStream tableStream ) + public void writeTxt( FileInformationBlock fib, ByteArrayOutputStream tableStream ) throws IOException { if ( textPositions == null || textPositions.length() == 0 ) { - fib.setNotesTextPositionsOffset( noteType, tableStream.getOffset() ); + fib.setNotesTextPositionsOffset( noteType, tableStream.size() ); fib.setNotesTextPositionsSize( noteType, 0 ); return; } - int start = tableStream.getOffset(); + int start = tableStream.size(); tableStream.write( textPositions.toByteArray() ); - int end = tableStream.getOffset(); + int end = tableStream.size(); fib.setNotesTextPositionsOffset( noteType, start ); fib.setNotesTextPositionsSize( noteType, end - start ); diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/PAPBinTable.java b/src/scratchpad/src/org/apache/poi/hwpf/model/PAPBinTable.java index 3979009f2..231fb9f9f 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/PAPBinTable.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/PAPBinTable.java @@ -17,6 +17,7 @@ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -26,7 +27,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.hwpf.sprm.SprmBuffer; import org.apache.poi.hwpf.sprm.SprmIterator; import org.apache.poi.hwpf.sprm.SprmOperation; @@ -386,15 +386,15 @@ public class PAPBinTable return _paragraphs; } - public void writeTo( HWPFOutputStream wordDocumentStream, - HWPFOutputStream tableStream, CharIndexTranslator translator ) + public void writeTo( ByteArrayOutputStream wordDocumentStream, + ByteArrayOutputStream tableStream, CharIndexTranslator translator ) throws IOException { PlexOfCps binTable = new PlexOfCps(4); // each FKP must start on a 512 byte page. - int docOffset = wordDocumentStream.getOffset(); + int docOffset = wordDocumentStream.size(); int mod = docOffset % POIFSConstants.SMALLER_BIG_BLOCK_SIZE; if (mod != 0) { @@ -403,7 +403,7 @@ public class PAPBinTable } // get the page number for the first fkp - docOffset = wordDocumentStream.getOffset(); + docOffset = wordDocumentStream.size(); int pageNum = docOffset/POIFSConstants.SMALLER_BIG_BLOCK_SIZE; // get the ending fc diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/PAPFormattedDiskPage.java b/src/scratchpad/src/org/apache/poi/hwpf/model/PAPFormattedDiskPage.java index d314d95b4..408a33f32 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/PAPFormattedDiskPage.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/PAPFormattedDiskPage.java @@ -17,13 +17,13 @@ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndian; @@ -182,7 +182,7 @@ public final class PAPFormattedDiskPage extends FormattedDiskPage { * @throws IOException * if an I/O error occurs. */ - protected byte[] toByteArray( HWPFOutputStream dataStream, + protected byte[] toByteArray( ByteArrayOutputStream dataStream, CharIndexTranslator translator ) throws IOException { byte[] buf = new byte[512]; @@ -296,7 +296,7 @@ public final class PAPFormattedDiskPage extends FormattedDiskPage { byte[] hugePapx = new byte[grpprl.length - 2]; System.arraycopy( grpprl, 2, hugePapx, 0, grpprl.length - 2 ); - int dataStreamOffset = dataStream.getOffset(); + int dataStreamOffset = dataStream.size(); dataStream.write( hugePapx ); // grpprl = grpprl containing only a sprmPHugePapx2 diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/PlfLfo.java b/src/scratchpad/src/org/apache/poi/hwpf/model/PlfLfo.java index b387e8f31..90d0b3cef 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/PlfLfo.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/PlfLfo.java @@ -18,11 +18,11 @@ */ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.Arrays; import java.util.NoSuchElementException; -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; @@ -202,10 +202,10 @@ public class PlfLfo return result; } - void writeTo( FileInformationBlock fib, HWPFOutputStream outputStream ) + void writeTo( FileInformationBlock fib, ByteArrayOutputStream outputStream ) throws IOException { - final int offset = outputStream.getOffset(); + final int offset = outputStream.size(); fib.setFcPlfLfo( offset ); LittleEndian.putUInt( _lfoMac, outputStream ); @@ -221,6 +221,6 @@ public class PlfLfo { _rgLfoData[i].writeTo( outputStream ); } - fib.setLcbPlfLfo( outputStream.getOffset() - offset ); + fib.setLcbPlfLfo( outputStream.size() - offset ); } } diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/RevisionMarkAuthorTable.java b/src/scratchpad/src/org/apache/poi/hwpf/model/RevisionMarkAuthorTable.java index b1347d0e7..2c4bd5521 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/RevisionMarkAuthorTable.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/RevisionMarkAuthorTable.java @@ -17,12 +17,12 @@ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.util.Internal; /** @@ -88,7 +88,7 @@ public final class RevisionMarkAuthorTable { * @param tableStream the table stream to write to. * @throws IOException if an error occurs while writing. */ - public void writeTo( HWPFOutputStream tableStream ) throws IOException + public void writeTo( ByteArrayOutputStream tableStream ) throws IOException { SttbUtils.writeSttbfRMark( entries, tableStream ); } diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/SavedByTable.java b/src/scratchpad/src/org/apache/poi/hwpf/model/SavedByTable.java index 87c7a8ef9..e8eff88eb 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/SavedByTable.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/SavedByTable.java @@ -16,12 +16,12 @@ ==================================================================== */ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.util.Internal; /** @@ -77,7 +77,7 @@ public final class SavedByTable * @throws IOException * if an error occurs while writing. */ - public void writeTo( HWPFOutputStream tableStream ) throws IOException + public void writeTo( ByteArrayOutputStream tableStream ) throws IOException { String[] toSave = new String[entries.length * 2]; int counter = 0; diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/SectionTable.java b/src/scratchpad/src/org/apache/poi/hwpf/model/SectionTable.java index ec93d56e5..c038d9bab 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/SectionTable.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/SectionTable.java @@ -17,13 +17,13 @@ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.apache.poi.hwpf.model.io.HWPFFileSystem; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.POILogFactory; @@ -168,18 +168,18 @@ public class SectionTable @Deprecated public void writeTo( HWPFFileSystem sys, int fcMin ) throws IOException { - HWPFOutputStream docStream = sys.getStream( "WordDocument" ); - HWPFOutputStream tableStream = sys.getStream( "1Table" ); + ByteArrayOutputStream docStream = sys.getStream( "WordDocument" ); + ByteArrayOutputStream tableStream = sys.getStream( "1Table" ); writeTo( docStream, tableStream ); } public void writeTo( - HWPFOutputStream wordDocumentStream, - HWPFOutputStream tableStream ) throws IOException + ByteArrayOutputStream wordDocumentStream, + ByteArrayOutputStream tableStream ) throws IOException { - int offset = wordDocumentStream.getOffset(); + int offset = wordDocumentStream.size(); int len = _sections.size(); PlexOfCps plex = new PlexOfCps(SED_SIZE); @@ -220,7 +220,7 @@ public class SectionTable plex.addProperty(property); - offset = wordDocumentStream.getOffset(); + offset = wordDocumentStream.size(); } tableStream.write(plex.toByteArray()); } diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/SttbUtils.java b/src/scratchpad/src/org/apache/poi/hwpf/model/SttbUtils.java index fba473f9c..850d40d50 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/SttbUtils.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/SttbUtils.java @@ -17,8 +17,8 @@ package org.apache.poi.hwpf.model; import java.io.IOException; +import java.io.OutputStream; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.util.Internal; /** @@ -53,24 +53,22 @@ class SttbUtils .getData(); } - static void writeSttbfBkmk( String[] data, HWPFOutputStream tableStream ) + static void writeSttbfBkmk( String[] data, OutputStream tableStream ) throws IOException { tableStream.write( new Sttb( CDATA_SIZE_STTBF_BKMK, data ).serialize() ); } - static void writeSttbfRMark( String[] data, HWPFOutputStream tableStream ) + static void writeSttbfRMark( String[] data, OutputStream tableStream ) throws IOException { - tableStream.write( new Sttb( CDATA_SIZE_STTBF_R_MARK, data ) - .serialize() ); + tableStream.write( new Sttb( CDATA_SIZE_STTBF_R_MARK, data ).serialize() ); } - static void writeSttbSavedBy( String[] data, HWPFOutputStream tableStream ) + static void writeSttbSavedBy( String[] data, OutputStream tableStream ) throws IOException { - tableStream.write( new Sttb( CDATA_SIZE_STTB_SAVED_BY, data ) - .serialize() ); + tableStream.write( new Sttb( CDATA_SIZE_STTB_SAVED_BY, data ).serialize() ); } } diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java b/src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java index f8ec76b67..8084f73e1 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java @@ -18,8 +18,8 @@ package org.apache.poi.hwpf.model; import java.io.IOException; +import java.io.OutputStream; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.hwpf.sprm.CharacterSprmUncompressor; import org.apache.poi.hwpf.sprm.ParagraphSprmUncompressor; import org.apache.poi.hwpf.usermodel.CharacterProperties; @@ -123,7 +123,7 @@ public final class StyleSheet implements HDFType { } } - public void writeTo(HWPFOutputStream out) + public void writeTo(OutputStream out) throws IOException { diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/TextPieceTable.java b/src/scratchpad/src/org/apache/poi/hwpf/model/TextPieceTable.java index bbddd8645..931c3fc88 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/TextPieceTable.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/TextPieceTable.java @@ -16,6 +16,7 @@ ==================================================================== */ package org.apache.poi.hwpf.model; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.Serializable; import java.util.ArrayList; @@ -24,7 +25,6 @@ import java.util.Comparator; import java.util.LinkedList; import java.util.List; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.poifs.common.POIFSConstants; import org.apache.poi.util.Internal; import org.apache.poi.util.POILogFactory; @@ -413,14 +413,14 @@ public class TextPieceTable implements CharIndexTranslator { return _textPiecesFCOrder.get(low + 1).getPieceDescriptor().getFilePosition(); } - public byte[] writeTo(HWPFOutputStream docStream) throws IOException { + public byte[] writeTo(ByteArrayOutputStream docStream) throws IOException { PlexOfCps textPlex = new PlexOfCps(PieceDescriptor.getSizeInBytes()); // int fcMin = docStream.getOffset(); for (TextPiece next : _textPieces) { PieceDescriptor pd = next.getPieceDescriptor(); - int offset = docStream.getOffset(); + int offset = docStream.size(); int mod = (offset % POIFSConstants.SMALLER_BIG_BLOCK_SIZE); if (mod != 0) { mod = POIFSConstants.SMALLER_BIG_BLOCK_SIZE - mod; @@ -429,7 +429,7 @@ public class TextPieceTable implements CharIndexTranslator { } // set the text piece position to the current docStream offset. - pd.setFilePosition(docStream.getOffset()); + pd.setFilePosition(docStream.size()); // write the text to the docstream and save the piece descriptor to // the diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/io/HWPFFileSystem.java b/src/scratchpad/src/org/apache/poi/hwpf/model/io/HWPFFileSystem.java index 9663f0177..4ab383f9b 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/io/HWPFFileSystem.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/io/HWPFFileSystem.java @@ -18,6 +18,7 @@ package org.apache.poi.hwpf.model.io; +import java.io.ByteArrayOutputStream; import java.util.HashMap; import java.util.Map; @@ -26,16 +27,16 @@ import org.apache.poi.util.Internal; @Internal public final class HWPFFileSystem { - Map _streams = new HashMap(); + private Map _streams = new HashMap(); public HWPFFileSystem() { - _streams.put("WordDocument", new HWPFOutputStream()); - _streams.put("1Table", new HWPFOutputStream()); - _streams.put("Data", new HWPFOutputStream()); + _streams.put("WordDocument", new ByteArrayOutputStream()); + _streams.put("1Table", new ByteArrayOutputStream()); + _streams.put("Data", new ByteArrayOutputStream()); } - public HWPFOutputStream getStream(String name) + public ByteArrayOutputStream getStream(String name) { return _streams.get(name); } diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/io/HWPFOutputStream.java b/src/scratchpad/src/org/apache/poi/hwpf/model/io/HWPFOutputStream.java deleted file mode 100644 index 0264cae0e..000000000 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/io/HWPFOutputStream.java +++ /dev/null @@ -1,51 +0,0 @@ -/* ==================================================================== - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -==================================================================== */ - -package org.apache.poi.hwpf.model.io; - -import java.io.ByteArrayOutputStream; - -import org.apache.poi.util.Internal; - -@Internal -public final class HWPFOutputStream extends ByteArrayOutputStream { - - int _offset; - - public HWPFOutputStream() { - super(); - } - - public int getOffset() { - return _offset; - } - - public synchronized void reset() { - super.reset(); - _offset = 0; - } - - public synchronized void write(byte[] buf, int off, int len) { - super.write(buf, off, len); - _offset += len; - } - - public synchronized void write(int b) { - super.write(b); - _offset++; - } -} diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestFontTable.java b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestFontTable.java index fa4dc3e12..1b332db07 100644 --- a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestFontTable.java +++ b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestFontTable.java @@ -17,19 +17,23 @@ package org.apache.poi.hwpf.model; -import junit.framework.*; -import org.apache.poi.hwpf.*; -import org.apache.poi.hwpf.model.io.*; +import static org.junit.Assert.assertTrue; -public final class TestFontTable - extends TestCase -{ +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +import org.apache.poi.hwpf.HWPFDocFixture; +import org.apache.poi.hwpf.model.io.HWPFFileSystem; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public final class TestFontTable { private FontTable _fontTable = null; private HWPFDocFixture _hWPFDocFixture; - public void testReadWrite() - throws Exception - { + @Test + public void testReadWrite() throws IOException { FileInformationBlock fib = _hWPFDocFixture._fib; byte[] tableStream = _hWPFDocFixture._tableStream; @@ -41,7 +45,7 @@ public final class TestFontTable HWPFFileSystem fileSys = new HWPFFileSystem(); _fontTable.writeTo(fileSys); - HWPFOutputStream tableOut = fileSys.getStream("1Table"); + ByteArrayOutputStream tableOut = fileSys.getStream("1Table"); byte[] newTableStream = tableOut.toByteArray(); @@ -53,25 +57,15 @@ public final class TestFontTable } - @Override -protected void setUp() - throws Exception - { - super.setUp(); - /**@todo verify the constructors*/ + @Before + public void setUp() throws IOException { _hWPFDocFixture = new HWPFDocFixture(this, HWPFDocFixture.DEFAULT_TEST_FILE); - _hWPFDocFixture.setUp(); } - @Override -protected void tearDown() - throws Exception - { + @After + public void tearDown() throws IOException { _hWPFDocFixture.tearDown(); - - _hWPFDocFixture = null; - super.tearDown(); } } diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestListTables.java b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestListTables.java index aed56038e..ecf22578a 100644 --- a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestListTables.java +++ b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestListTables.java @@ -19,11 +19,11 @@ package org.apache.poi.hwpf.model; import static org.junit.Assert.assertEquals; +import java.io.ByteArrayOutputStream; import java.io.IOException; import org.apache.poi.hwpf.HWPFTestCase; import org.apache.poi.hwpf.model.io.HWPFFileSystem; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.junit.Test; public final class TestListTables extends HWPFTestCase { @@ -43,7 +43,7 @@ public final class TestListTables extends HWPFTestCase { ListTables listTables = new ListTables(tableStream, listOffset, lfoOffset, bLfoOffset); HWPFFileSystem fileSys = new HWPFFileSystem(); - HWPFOutputStream tableOut = fileSys.getStream("1Table"); + ByteArrayOutputStream tableOut = fileSys.getStream("1Table"); listTables.writeListDataTo(fib, tableOut); listTables.writeListOverridesTo(fib, tableOut); diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestPAPBinTable.java b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestPAPBinTable.java index a642d1900..064648128 100644 --- a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestPAPBinTable.java +++ b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestPAPBinTable.java @@ -17,29 +17,30 @@ package org.apache.poi.hwpf.model; -import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; -import junit.framework.TestCase; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.List; import org.apache.poi.hwpf.HWPFDocFixture; import org.apache.poi.hwpf.HWPFTestDataSamples; import org.apache.poi.hwpf.model.io.HWPFFileSystem; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; +import org.junit.Test; -public final class TestPAPBinTable extends TestCase -{ +public final class TestPAPBinTable { - public void testObIs() - { + @Test + public void testObIs() throws IOException { // shall not fail with assertions on - HWPFTestDataSamples.openSampleFile( "ob_is.doc" ); + HWPFTestDataSamples.openSampleFile( "ob_is.doc" ).close();; } - public void testReadWrite() throws Exception - { + @Test + public void testReadWrite() throws IOException { /** @todo verify the constructors */ - HWPFDocFixture _hWPFDocFixture = new HWPFDocFixture( this, - HWPFDocFixture.DEFAULT_TEST_FILE ); + HWPFDocFixture _hWPFDocFixture = new HWPFDocFixture( this, HWPFDocFixture.DEFAULT_TEST_FILE ); _hWPFDocFixture.setUp(); TextPieceTable fakeTPT = new TextPieceTable(); @@ -52,8 +53,8 @@ public final class TestPAPBinTable extends TestCase null, fib.getFcPlcfbtePapx(), fib.getLcbPlcfbtePapx(), fakeTPT ); HWPFFileSystem fileSys = new HWPFFileSystem(); - HWPFOutputStream tableOut = fileSys.getStream( "1Table" ); - HWPFOutputStream mainOut = fileSys.getStream( "WordDocument" ); + ByteArrayOutputStream tableOut = fileSys.getStream( "1Table" ); + ByteArrayOutputStream mainOut = fileSys.getStream( "WordDocument" ); _pAPBinTable.writeTo( mainOut, tableOut, fakeTPT ); byte[] newTableStream = tableOut.toByteArray(); diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestStyleSheet.java b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestStyleSheet.java index 41677ddfb..2e374c299 100644 --- a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestStyleSheet.java +++ b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestStyleSheet.java @@ -17,25 +17,29 @@ package org.apache.poi.hwpf.model; -import junit.framework.*; +import static org.junit.Assert.assertEquals; -import org.apache.poi.hwpf.*; -import org.apache.poi.hwpf.model.io.*; +import java.io.ByteArrayOutputStream; +import java.io.IOException; -public final class TestStyleSheet - extends TestCase -{ +import org.apache.poi.hwpf.HWPFDocFixture; +import org.apache.poi.hwpf.model.io.HWPFFileSystem; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public final class TestStyleSheet { private StyleSheet _styleSheet = null; private HWPFDocFixture _hWPFDocFixture; - public void testReadWrite() - throws Exception + @Test + public void testReadWrite() throws IOException { HWPFFileSystem fileSys = new HWPFFileSystem(); - HWPFOutputStream tableOut = fileSys.getStream("1Table"); - HWPFOutputStream mainOut = fileSys.getStream("WordDocument"); + ByteArrayOutputStream tableOut = fileSys.getStream("1Table"); + ByteArrayOutputStream mainOut = fileSys.getStream("WordDocument"); _styleSheet.writeTo(tableOut); @@ -43,14 +47,13 @@ public final class TestStyleSheet StyleSheet newStyleSheet = new StyleSheet(newTableStream, 0); assertEquals(newStyleSheet, _styleSheet); - } - public void testReadWriteFromNonZeroOffset() - throws Exception + @Test + public void testReadWriteFromNonZeroOffset() throws IOException { HWPFFileSystem fileSys = new HWPFFileSystem(); - HWPFOutputStream tableOut = fileSys.getStream("1Table"); + ByteArrayOutputStream tableOut = fileSys.getStream("1Table"); tableOut.write(new byte[20]); // 20 bytes of whatever at the front. _styleSheet.writeTo(tableOut); @@ -61,11 +64,8 @@ public final class TestStyleSheet assertEquals(newStyleSheet, _styleSheet); } - @Override -protected void setUp() - throws Exception - { - super.setUp(); + @Before + public void setUp() throws IOException { /**@todo verify the constructors*/ _hWPFDocFixture = new HWPFDocFixture(this, HWPFDocFixture.DEFAULT_TEST_FILE); _hWPFDocFixture.setUp(); @@ -77,15 +77,11 @@ protected void setUp() _styleSheet = new StyleSheet(tableStream, fib.getFcStshf()); } - @Override -protected void tearDown() - throws Exception - { + @After + public void tearDown() throws Exception { _styleSheet = null; _hWPFDocFixture.tearDown(); _hWPFDocFixture = null; - super.tearDown(); } - } diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBugs.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBugs.java index e91906ce3..7965121a8 100644 --- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBugs.java +++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBugs.java @@ -16,10 +16,10 @@ ==================================================================== */ package org.apache.poi.hwpf.usermodel; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import static org.apache.poi.POITestCase.assertContains; import static org.apache.poi.POITestCase.assertNotContained; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import java.io.ByteArrayOutputStream; import java.io.File; @@ -29,7 +29,6 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; -import junit.framework.TestCase; import org.apache.commons.codec.digest.DigestUtils; import org.apache.poi.POIDataSamples; import org.apache.poi.hwpf.HWPFDocument; @@ -43,7 +42,6 @@ import org.apache.poi.hwpf.model.FieldsDocumentPart; import org.apache.poi.hwpf.model.FileInformationBlock; import org.apache.poi.hwpf.model.PlexOfField; import org.apache.poi.hwpf.model.SubdocumentType; -import org.apache.poi.hwpf.model.io.HWPFOutputStream; import org.apache.poi.poifs.filesystem.NPOIFSFileSystem; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.util.IOUtils; @@ -51,6 +49,8 @@ import org.apache.poi.util.POILogFactory; import org.apache.poi.util.POILogger; import org.junit.Test; +import junit.framework.TestCase; + /** * Test different problems reported in the Apache Bugzilla * against HWPF @@ -607,7 +607,7 @@ public class TestBugs{ System.arraycopy(doc.getTableStream(), doc.getFileInformationBlock() .getFcDop(), originalData, 0, originalData.length); - HWPFOutputStream outputStream = new HWPFOutputStream(); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); doc.getDocProperties().writeTo(outputStream); final byte[] oldData = outputStream.toByteArray(); @@ -620,7 +620,7 @@ public class TestBugs{ doc = HWPFTestDataSamples.writeOutAndReadBack(doc); - outputStream = new HWPFOutputStream(); + outputStream = new ByteArrayOutputStream(); doc.getDocProperties().writeTo(outputStream); final byte[] newData = outputStream.toByteArray();