2004-04-09 09:05:39 -04:00
|
|
|
/* ====================================================================
|
2006-12-22 14:18:16 -05:00
|
|
|
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
|
2004-04-09 09:05:39 -04:00
|
|
|
|
|
|
|
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.
|
|
|
|
==================================================================== */
|
2009-05-21 14:12:22 -04:00
|
|
|
|
2003-06-28 11:58:27 -04:00
|
|
|
package org.apache.poi.hwpf;
|
|
|
|
|
2009-08-22 01:50:32 -04:00
|
|
|
import org.apache.poi.hwpf.model.FileInformationBlock;
|
2003-06-28 11:58:27 -04:00
|
|
|
import org.apache.poi.poifs.filesystem.DocumentEntry;
|
2009-08-22 01:50:32 -04:00
|
|
|
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
2003-06-28 11:58:27 -04:00
|
|
|
|
|
|
|
|
2009-05-21 14:12:22 -04:00
|
|
|
public final class HWPFDocFixture
|
2003-06-28 11:58:27 -04:00
|
|
|
{
|
|
|
|
public byte[] _tableStream;
|
|
|
|
public byte[] _mainStream;
|
|
|
|
public FileInformationBlock _fib;
|
|
|
|
|
|
|
|
public HWPFDocFixture(Object obj)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setUp()
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
2009-08-19 14:51:44 -04:00
|
|
|
POIFSFileSystem filesystem = new POIFSFileSystem(
|
|
|
|
HWPFTestDataSamples.openSampleFileStream("test.doc"));
|
2003-06-28 11:58:27 -04:00
|
|
|
|
|
|
|
DocumentEntry documentProps =
|
|
|
|
(DocumentEntry) filesystem.getRoot().getEntry("WordDocument");
|
|
|
|
_mainStream = new byte[documentProps.getSize()];
|
|
|
|
filesystem.createDocumentInputStream("WordDocument").read(_mainStream);
|
|
|
|
|
|
|
|
// use the fib to determine the name of the table stream.
|
|
|
|
_fib = new FileInformationBlock(_mainStream);
|
|
|
|
|
|
|
|
String name = "0Table";
|
|
|
|
if (_fib.isFWhichTblStm())
|
|
|
|
{
|
|
|
|
name = "1Table";
|
|
|
|
}
|
|
|
|
|
|
|
|
// read in the table stream.
|
|
|
|
DocumentEntry tableProps =
|
|
|
|
(DocumentEntry) filesystem.getRoot().getEntry(name);
|
|
|
|
_tableStream = new byte[tableProps.getSize()];
|
|
|
|
filesystem.createDocumentInputStream(name).read(_tableStream);
|
2004-03-02 22:22:57 -05:00
|
|
|
|
|
|
|
_fib.fillVariableFields(_mainStream, _tableStream);
|
2003-06-28 11:58:27 -04:00
|
|
|
}
|
|
|
|
catch (Throwable t)
|
|
|
|
{
|
|
|
|
t.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public void tearDown()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|