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
This commit is contained in:
parent
2b4f944883
commit
739599059a
@ -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 );
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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 );
|
||||
|
@ -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();
|
||||
|
@ -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() )
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
|
@ -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 )
|
||||
|
@ -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 );
|
||||
}
|
||||
|
@ -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 );
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 );
|
||||
}
|
||||
}
|
||||
|
@ -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 );
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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());
|
||||
}
|
||||
|
@ -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() );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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
|
||||
{
|
||||
|
||||
|
@ -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
|
||||
|
@ -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<String, HWPFOutputStream> _streams = new HashMap<String, HWPFOutputStream>();
|
||||
private Map<String, ByteArrayOutputStream> _streams = new HashMap<String, ByteArrayOutputStream>();
|
||||
|
||||
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);
|
||||
}
|
||||
|
@ -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++;
|
||||
}
|
||||
}
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user