Applied patches from Loiec Lefeavre

git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352216 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andrew C. Oliver 2002-03-15 02:47:56 +00:00
parent 4c7cc432bc
commit 8c00a3324b
22 changed files with 98 additions and 73 deletions

View File

@ -72,6 +72,7 @@ import org.apache.poi.hssf.record.BoolErrRecord;
import org.apache.poi.hssf.record.ExtendedFormatRecord; import org.apache.poi.hssf.record.ExtendedFormatRecord;
import java.util.Date; import java.util.Date;
import java.util.Calendar;
/** /**
* High level representation of a cell in a row of a spreadsheet. * High level representation of a cell in a row of a spreadsheet.
@ -633,6 +634,19 @@ public class HSSFCell
setCellValue(HSSFDateUtil.getExcelDate(value)); setCellValue(HSSFDateUtil.getExcelDate(value));
} }
/**
* set a date value for the cell. Excel treats dates as numeric so you will need to format the cell as
* a date.
*
* @param value the date value to set this cell to. For formulas we'll set the
* precalculated value, for numerics we'll set its value. For othertypes we
* will change the cell to a numeric cell and set its value.
*/
public void setCellValue(Calendar value)
{
setCellValue(value.getTime());
}
/** /**
* set a string value for the cell. * set a string value for the cell.
* *

View File

@ -59,7 +59,7 @@ import java.io.*;
import java.util.*; import java.util.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.poifs.dev.POIFSViewable; import org.apache.poi.poifs.dev.POIFSViewable;
import org.apache.poi.poifs.property.DocumentProperty; import org.apache.poi.poifs.property.DocumentProperty;
import org.apache.poi.poifs.property.Property; import org.apache.poi.poifs.property.Property;
@ -628,7 +628,7 @@ public class POIFSDocument
writer.processPOIFSWriterEvent( writer.processPOIFSWriterEvent(
new POIFSWriterEvent(dstream, path, name, size)); new POIFSWriterEvent(dstream, path, name, size));
dstream.writeFiller(countBlocks() dstream.writeFiller(countBlocks()
* PoiFSConstants * POIFSConstants
.BIG_BLOCK_SIZE, DocumentBlock .BIG_BLOCK_SIZE, DocumentBlock
.getFillByte()); .getFillByte());
} }
@ -654,8 +654,8 @@ public class POIFSDocument
{ {
if (writer != null) if (writer != null)
{ {
rval = (size + PoiFSConstants.BIG_BLOCK_SIZE - 1) rval = (size + POIFSConstants.BIG_BLOCK_SIZE - 1)
/ PoiFSConstants.BIG_BLOCK_SIZE; / POIFSConstants.BIG_BLOCK_SIZE;
} }
else else
{ {

View File

@ -59,7 +59,7 @@ import java.io.*;
import java.util.*; import java.util.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.poifs.dev.POIFSViewable; import org.apache.poi.poifs.dev.POIFSViewable;
import org.apache.poi.poifs.property.DirectoryProperty; import org.apache.poi.poifs.property.DirectoryProperty;
import org.apache.poi.poifs.property.DocumentProperty; import org.apache.poi.poifs.property.DocumentProperty;

View File

@ -59,7 +59,7 @@ import java.io.*;
import java.util.*; import java.util.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.poifs.dev.POIFSViewable; import org.apache.poi.poifs.dev.POIFSViewable;
import org.apache.poi.util.ByteField; import org.apache.poi.util.ByteField;
import org.apache.poi.util.IntegerField; import org.apache.poi.util.IntegerField;
@ -124,7 +124,7 @@ public abstract class Property
protected Property() protected Property()
{ {
_raw_data = new byte[ PoiFSConstants.PROPERTY_SIZE ]; _raw_data = new byte[ POIFSConstants.PROPERTY_SIZE ];
Arrays.fill(_raw_data, _default_fill); Arrays.fill(_raw_data, _default_fill);
_name_size = new ShortField(_name_size_offset); _name_size = new ShortField(_name_size_offset);
_property_type = _property_type =
@ -160,9 +160,9 @@ public abstract class Property
protected Property(final int index, final byte [] array, final int offset) protected Property(final int index, final byte [] array, final int offset)
{ {
_raw_data = new byte[ PoiFSConstants.PROPERTY_SIZE ]; _raw_data = new byte[ POIFSConstants.PROPERTY_SIZE ];
System.arraycopy(array, offset, _raw_data, 0, System.arraycopy(array, offset, _raw_data, 0,
PoiFSConstants.PROPERTY_SIZE); POIFSConstants.PROPERTY_SIZE);
_name_size = new ShortField(_name_size_offset, _raw_data); _name_size = new ShortField(_name_size_offset, _raw_data);
_property_type = _property_type =
new ByteField(PropertyConstants.PROPERTY_TYPE_OFFSET, _raw_data); new ByteField(PropertyConstants.PROPERTY_TYPE_OFFSET, _raw_data);

View File

@ -59,7 +59,7 @@ import java.io.IOException;
import java.util.*; import java.util.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.poifs.storage.ListManagedBlock; import org.apache.poi.poifs.storage.ListManagedBlock;
/** /**
@ -102,7 +102,7 @@ class PropertyFactory
{ {
byte[] data = blocks[ j ].getData(); byte[] data = blocks[ j ].getData();
int property_count = data.length int property_count = data.length
/ PoiFSConstants.PROPERTY_SIZE; / POIFSConstants.PROPERTY_SIZE;
int offset = 0; int offset = 0;
for (int k = 0; k < property_count; k++) for (int k = 0; k < property_count; k++)
@ -130,7 +130,7 @@ class PropertyFactory
properties.add(null); properties.add(null);
break; break;
} }
offset += PoiFSConstants.PROPERTY_SIZE; offset += POIFSConstants.PROPERTY_SIZE;
} }
} }
return properties; return properties;

View File

@ -60,7 +60,7 @@ import java.io.OutputStream;
import java.util.*; import java.util.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.poifs.filesystem.BATManaged; import org.apache.poi.poifs.filesystem.BATManaged;
import org.apache.poi.poifs.storage.BlockWritable; import org.apache.poi.poifs.storage.BlockWritable;
import org.apache.poi.poifs.storage.PropertyBlock; import org.apache.poi.poifs.storage.PropertyBlock;
@ -88,7 +88,7 @@ public class PropertyTable
public PropertyTable() public PropertyTable()
{ {
_start_block = PoiFSConstants.END_OF_CHAIN; _start_block = POIFSConstants.END_OF_CHAIN;
_properties = new ArrayList(); _properties = new ArrayList();
addProperty(new RootProperty()); addProperty(new RootProperty());
_blocks = null; _blocks = null;
@ -110,7 +110,7 @@ public class PropertyTable
final RawDataBlockList blockList) final RawDataBlockList blockList)
throws IOException throws IOException
{ {
_start_block = PoiFSConstants.END_OF_CHAIN; _start_block = POIFSConstants.END_OF_CHAIN;
_blocks = null; _blocks = null;
_properties = _properties =
PropertyFactory PropertyFactory

View File

@ -59,7 +59,7 @@ import java.util.*;
import java.io.IOException; import java.io.IOException;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.poifs.storage.SmallDocumentBlock; import org.apache.poi.poifs.storage.SmallDocumentBlock;
/** /**
@ -83,7 +83,7 @@ public class RootProperty
// overrides // overrides
setNodeColor(_NODE_BLACK); setNodeColor(_NODE_BLACK);
setPropertyType(PropertyConstants.ROOT_TYPE); setPropertyType(PropertyConstants.ROOT_TYPE);
setStartBlock(PoiFSConstants.END_OF_CHAIN); setStartBlock(POIFSConstants.END_OF_CHAIN);
} }
/** /**

View File

@ -60,7 +60,7 @@ import java.io.OutputStream;
import java.util.Arrays; import java.util.Arrays;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.util.IntegerField; import org.apache.poi.util.IntegerField;
import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts; import org.apache.poi.util.LittleEndianConsts;
@ -76,7 +76,7 @@ public class BATBlock
extends BigBlock extends BigBlock
{ {
private static final int _entries_per_block = private static final int _entries_per_block =
PoiFSConstants.BIG_BLOCK_SIZE / LittleEndianConsts.INT_SIZE; POIFSConstants.BIG_BLOCK_SIZE / LittleEndianConsts.INT_SIZE;
private static final int _entries_per_xbat_block = _entries_per_block private static final int _entries_per_xbat_block = _entries_per_block
- 1; - 1;
private static final int _xbat_chain_offset = private static final int _xbat_chain_offset =
@ -91,7 +91,7 @@ public class BATBlock
private BATBlock() private BATBlock()
{ {
_data = new byte[ PoiFSConstants.BIG_BLOCK_SIZE ]; _data = new byte[ POIFSConstants.BIG_BLOCK_SIZE ];
Arrays.fill(_data, _default_value); Arrays.fill(_data, _default_value);
_fields = new IntegerField[ _entries_per_block ]; _fields = new IntegerField[ _entries_per_block ];
int offset = 0; int offset = 0;
@ -164,7 +164,7 @@ public class BATBlock
{ {
blocks[ index ].setXBATChain(startBlock + index + 1); blocks[ index ].setXBATChain(startBlock + index + 1);
} }
blocks[ index ].setXBATChain(PoiFSConstants.END_OF_CHAIN); blocks[ index ].setXBATChain(POIFSConstants.END_OF_CHAIN);
} }
return blocks; return blocks;
} }

View File

@ -60,7 +60,7 @@ import java.io.OutputStream;
import java.util.*; import java.util.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.util.IntList; import org.apache.poi.util.IntList;
import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts; import org.apache.poi.util.LittleEndianConsts;
@ -158,7 +158,7 @@ public class BlockAllocationTableReader
offset += LittleEndianConsts.INT_SIZE; offset += LittleEndianConsts.INT_SIZE;
} }
chain_index = LittleEndian.getInt(data, chain_index_offset); chain_index = LittleEndian.getInt(data, chain_index_offset);
if (chain_index == PoiFSConstants.END_OF_CHAIN) if (chain_index == POIFSConstants.END_OF_CHAIN)
{ {
break; break;
} }
@ -222,7 +222,7 @@ public class BlockAllocationTableReader
List blocks = new ArrayList(); List blocks = new ArrayList();
int currentBlock = startBlock; int currentBlock = startBlock;
while (currentBlock != PoiFSConstants.END_OF_CHAIN) while (currentBlock != POIFSConstants.END_OF_CHAIN)
{ {
blocks.add(blockList.remove(currentBlock)); blocks.add(blockList.remove(currentBlock));
currentBlock = _entries.get(currentBlock); currentBlock = _entries.get(currentBlock);
@ -261,7 +261,7 @@ public class BlockAllocationTableReader
* @param index of the current block * @param index of the current block
* *
* @return index of the next block (may be * @return index of the next block (may be
* PoiFSConstants.END_OF_CHAIN, indicating end of chain * POIFSConstants.END_OF_CHAIN, indicating end of chain
* (duh)) * (duh))
* *
* @exception IOException if the current block is unused * @exception IOException if the current block is unused
@ -305,7 +305,7 @@ public class BlockAllocationTableReader
{ {
int entry = LittleEndian.getInt(data, offset); int entry = LittleEndian.getInt(data, offset);
if (entry == PoiFSConstants.UNUSED_BLOCK) if (entry == POIFSConstants.UNUSED_BLOCK)
{ {
raw_blocks.zap(_entries.size()); raw_blocks.zap(_entries.size());
} }

View File

@ -60,7 +60,7 @@ import java.io.OutputStream;
import java.util.*; import java.util.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.poifs.filesystem.BATManaged; import org.apache.poi.poifs.filesystem.BATManaged;
import org.apache.poi.util.IntList; import org.apache.poi.util.IntList;
import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LittleEndian;
@ -95,7 +95,7 @@ public class BlockAllocationTableWriter
public BlockAllocationTableWriter() public BlockAllocationTableWriter()
{ {
_start_block = PoiFSConstants.END_OF_CHAIN; _start_block = POIFSConstants.END_OF_CHAIN;
_entries = new IntList(); _entries = new IntList();
_blocks = new BATBlock[ 0 ]; _blocks = new BATBlock[ 0 ];
} }
@ -162,7 +162,7 @@ public class BlockAllocationTableWriter
{ {
_entries.add(index++); _entries.add(index++);
} }
_entries.add(PoiFSConstants.END_OF_CHAIN); _entries.add(POIFSConstants.END_OF_CHAIN);
} }
return startBlock; return startBlock;
} }

View File

@ -61,7 +61,7 @@ import java.io.OutputStream;
import java.util.Arrays; import java.util.Arrays;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.util.IntegerField; import org.apache.poi.util.IntegerField;
import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts; import org.apache.poi.util.LittleEndianConsts;
@ -118,7 +118,7 @@ public class DocumentBlock
private DocumentBlock() private DocumentBlock()
{ {
_data = new byte[ PoiFSConstants.BIG_BLOCK_SIZE ]; _data = new byte[ POIFSConstants.BIG_BLOCK_SIZE ];
Arrays.fill(_data, _default_value); Arrays.fill(_data, _default_value);
} }
@ -141,7 +141,7 @@ public class DocumentBlock
public boolean partiallyRead() public boolean partiallyRead()
{ {
return _bytes_read != PoiFSConstants.BIG_BLOCK_SIZE; return _bytes_read != POIFSConstants.BIG_BLOCK_SIZE;
} }
/** /**
@ -168,7 +168,7 @@ public class DocumentBlock
final int size) final int size)
{ {
DocumentBlock[] rval = DocumentBlock[] rval =
new DocumentBlock[ (size + PoiFSConstants.BIG_BLOCK_SIZE - 1) / PoiFSConstants.BIG_BLOCK_SIZE ]; new DocumentBlock[ (size + POIFSConstants.BIG_BLOCK_SIZE - 1) / POIFSConstants.BIG_BLOCK_SIZE ];
int offset = 0; int offset = 0;
for (int k = 0; k < rval.length; k++) for (int k = 0; k < rval.length; k++)
@ -176,14 +176,14 @@ public class DocumentBlock
rval[ k ] = new DocumentBlock(); rval[ k ] = new DocumentBlock();
if (offset < array.length) if (offset < array.length)
{ {
int length = Math.min(PoiFSConstants.BIG_BLOCK_SIZE, int length = Math.min(POIFSConstants.BIG_BLOCK_SIZE,
array.length - offset); array.length - offset);
System.arraycopy(array, offset, rval[ k ]._data, 0, length); System.arraycopy(array, offset, rval[ k ]._data, 0, length);
if (length != PoiFSConstants.BIG_BLOCK_SIZE) if (length != POIFSConstants.BIG_BLOCK_SIZE)
{ {
Arrays.fill(rval[ k ]._data, length, Arrays.fill(rval[ k ]._data, length,
PoiFSConstants.BIG_BLOCK_SIZE, POIFSConstants.BIG_BLOCK_SIZE,
_default_value); _default_value);
} }
} }
@ -191,7 +191,7 @@ public class DocumentBlock
{ {
Arrays.fill(rval[ k ]._data, _default_value); Arrays.fill(rval[ k ]._data, _default_value);
} }
offset += PoiFSConstants.BIG_BLOCK_SIZE; offset += POIFSConstants.BIG_BLOCK_SIZE;
} }
return rval; return rval;
} }
@ -207,10 +207,10 @@ public class DocumentBlock
public static void read(final DocumentBlock [] blocks, public static void read(final DocumentBlock [] blocks,
final byte [] buffer, final int offset) final byte [] buffer, final int offset)
{ {
int firstBlockIndex = offset / PoiFSConstants.BIG_BLOCK_SIZE; int firstBlockIndex = offset / POIFSConstants.BIG_BLOCK_SIZE;
int firstBlockOffset = offset % PoiFSConstants.BIG_BLOCK_SIZE; int firstBlockOffset = offset % POIFSConstants.BIG_BLOCK_SIZE;
int lastBlockIndex = (offset + buffer.length - 1) int lastBlockIndex = (offset + buffer.length - 1)
/ PoiFSConstants.BIG_BLOCK_SIZE; / POIFSConstants.BIG_BLOCK_SIZE;
if (firstBlockIndex == lastBlockIndex) if (firstBlockIndex == lastBlockIndex)
{ {
@ -223,14 +223,14 @@ public class DocumentBlock
System.arraycopy(blocks[ firstBlockIndex ]._data, System.arraycopy(blocks[ firstBlockIndex ]._data,
firstBlockOffset, buffer, buffer_offset, firstBlockOffset, buffer, buffer_offset,
PoiFSConstants.BIG_BLOCK_SIZE POIFSConstants.BIG_BLOCK_SIZE
- firstBlockOffset); - firstBlockOffset);
buffer_offset += PoiFSConstants.BIG_BLOCK_SIZE - firstBlockOffset; buffer_offset += POIFSConstants.BIG_BLOCK_SIZE - firstBlockOffset;
for (int j = firstBlockIndex + 1; j < lastBlockIndex; j++) for (int j = firstBlockIndex + 1; j < lastBlockIndex; j++)
{ {
System.arraycopy(blocks[ j ]._data, 0, buffer, buffer_offset, System.arraycopy(blocks[ j ]._data, 0, buffer, buffer_offset,
PoiFSConstants.BIG_BLOCK_SIZE); POIFSConstants.BIG_BLOCK_SIZE);
buffer_offset += PoiFSConstants.BIG_BLOCK_SIZE; buffer_offset += POIFSConstants.BIG_BLOCK_SIZE;
} }
System.arraycopy(blocks[ lastBlockIndex ]._data, 0, buffer, System.arraycopy(blocks[ lastBlockIndex ]._data, 0, buffer,
buffer_offset, buffer.length - buffer_offset); buffer_offset, buffer.length - buffer_offset);

View File

@ -55,7 +55,7 @@
package org.apache.poi.poifs.storage; package org.apache.poi.poifs.storage;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.util.IntegerField; import org.apache.poi.util.IntegerField;
import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts; import org.apache.poi.util.LittleEndianConsts;
@ -73,7 +73,7 @@ public interface HeaderBlockConstants
public static final long _signature = 0xE11AB1A1E011CFD0L; public static final long _signature = 0xE11AB1A1E011CFD0L;
public static final int _bat_array_offset = 0x4c; public static final int _bat_array_offset = 0x4c;
public static final int _max_bats_in_header = public static final int _max_bats_in_header =
(PoiFSConstants.BIG_BLOCK_SIZE - _bat_array_offset) (POIFSConstants.BIG_BLOCK_SIZE - _bat_array_offset)
/ LittleEndianConsts.INT_SIZE; / LittleEndianConsts.INT_SIZE;
// useful offsets // useful offsets

View File

@ -59,7 +59,7 @@ import java.io.*;
import java.util.*; import java.util.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.util.IntegerField; import org.apache.poi.util.IntegerField;
import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts; import org.apache.poi.util.LittleEndianConsts;
@ -103,17 +103,17 @@ public class HeaderBlockReader
public HeaderBlockReader(final InputStream stream) public HeaderBlockReader(final InputStream stream)
throws IOException throws IOException
{ {
_data = new byte[ PoiFSConstants.BIG_BLOCK_SIZE ]; _data = new byte[ POIFSConstants.BIG_BLOCK_SIZE ];
int byte_count = stream.read(_data); int byte_count = stream.read(_data);
if (byte_count != PoiFSConstants.BIG_BLOCK_SIZE) if (byte_count != POIFSConstants.BIG_BLOCK_SIZE)
{ {
String type = " byte" + ((byte_count == 1) ? ("") String type = " byte" + ((byte_count == 1) ? ("")
: ("s")); : ("s"));
throw new IOException("Unable to read entire header; " throw new IOException("Unable to read entire header; "
+ byte_count + type + " read; expected " + byte_count + type + " read; expected "
+ PoiFSConstants.BIG_BLOCK_SIZE + " bytes"); + POIFSConstants.BIG_BLOCK_SIZE + " bytes");
} }
// verify signature // verify signature

View File

@ -59,7 +59,7 @@ import java.io.*;
import java.util.*; import java.util.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.util.IntegerField; import org.apache.poi.util.IntegerField;
import org.apache.poi.util.LittleEndianConsts; import org.apache.poi.util.LittleEndianConsts;
import org.apache.poi.util.LongField; import org.apache.poi.util.LongField;
@ -99,7 +99,7 @@ public class HeaderBlockWriter
public HeaderBlockWriter() public HeaderBlockWriter()
{ {
_data = new byte[ PoiFSConstants.BIG_BLOCK_SIZE ]; _data = new byte[ POIFSConstants.BIG_BLOCK_SIZE ];
Arrays.fill(_data, _default_value); Arrays.fill(_data, _default_value);
new LongField(_signature_offset, _signature, _data); new LongField(_signature_offset, _signature, _data);
new IntegerField(0x08, 0, _data); new IntegerField(0x08, 0, _data);
@ -115,15 +115,15 @@ public class HeaderBlockWriter
new IntegerField(0x28, 0, _data); new IntegerField(0x28, 0, _data);
_bat_count = new IntegerField(_bat_count_offset, 0, _data); _bat_count = new IntegerField(_bat_count_offset, 0, _data);
_property_start = new IntegerField(_property_start_offset, _property_start = new IntegerField(_property_start_offset,
PoiFSConstants.END_OF_CHAIN, POIFSConstants.END_OF_CHAIN,
_data); _data);
new IntegerField(0x34, 0, _data); new IntegerField(0x34, 0, _data);
new IntegerField(0x38, 0x1000, _data); new IntegerField(0x38, 0x1000, _data);
_sbat_start = new IntegerField(_sbat_start_offset, _sbat_start = new IntegerField(_sbat_start_offset,
PoiFSConstants.END_OF_CHAIN, _data); POIFSConstants.END_OF_CHAIN, _data);
new IntegerField(0x40, 1, _data); new IntegerField(0x40, 1, _data);
_xbat_start = new IntegerField(_xbat_start_offset, _xbat_start = new IntegerField(_xbat_start_offset,
PoiFSConstants.END_OF_CHAIN, _data); POIFSConstants.END_OF_CHAIN, _data);
_xbat_count = new IntegerField(_xbat_count_offset, 0, _data); _xbat_count = new IntegerField(_xbat_count_offset, 0, _data);
} }
@ -170,7 +170,7 @@ public class HeaderBlockWriter
else else
{ {
rvalue = BATBlock.createXBATBlocks(new int[ 0 ], 0); rvalue = BATBlock.createXBATBlocks(new int[ 0 ], 0);
_xbat_start.set(PoiFSConstants.END_OF_CHAIN, _data); _xbat_start.set(POIFSConstants.END_OF_CHAIN, _data);
} }
_xbat_count.set(rvalue.length, _data); _xbat_count.set(rvalue.length, _data);
return rvalue; return rvalue;

View File

@ -59,7 +59,7 @@ import java.io.*;
import java.util.*; import java.util.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.poifs.property.Property; import org.apache.poi.poifs.property.Property;
import org.apache.poi.util.IntegerField; import org.apache.poi.util.IntegerField;
import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LittleEndian;
@ -75,7 +75,7 @@ public class PropertyBlock
extends BigBlock extends BigBlock
{ {
private static final int _properties_per_block = private static final int _properties_per_block =
PoiFSConstants.BIG_BLOCK_SIZE / PoiFSConstants.PROPERTY_SIZE; POIFSConstants.BIG_BLOCK_SIZE / POIFSConstants.PROPERTY_SIZE;
private Property[] _properties; private Property[] _properties;
/** /**

View File

@ -55,7 +55,7 @@
package org.apache.poi.poifs.storage; package org.apache.poi.poifs.storage;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import java.io.*; import java.io.*;
@ -83,21 +83,21 @@ public class RawDataBlock
public RawDataBlock(final InputStream stream) public RawDataBlock(final InputStream stream)
throws IOException throws IOException
{ {
_data = new byte[ PoiFSConstants.BIG_BLOCK_SIZE ]; _data = new byte[ POIFSConstants.BIG_BLOCK_SIZE ];
int count = stream.read(_data); int count = stream.read(_data);
if (count == -1) if (count == -1)
{ {
_eof = true; _eof = true;
} }
else if (count != PoiFSConstants.BIG_BLOCK_SIZE) else if (count != POIFSConstants.BIG_BLOCK_SIZE)
{ {
String type = " byte" + ((count == 1) ? ("") String type = " byte" + ((count == 1) ? ("")
: ("s")); : ("s"));
throw new IOException("Unable to read entire block; " + count throw new IOException("Unable to read entire block; " + count
+ type + " read; expected " + type + " read; expected "
+ PoiFSConstants.BIG_BLOCK_SIZE + " bytes"); + POIFSConstants.BIG_BLOCK_SIZE + " bytes");
} }
else else
{ {

View File

@ -59,7 +59,7 @@ import java.io.*;
import java.util.*; import java.util.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
/** /**
* Storage for documents that are too small to use regular * Storage for documents that are too small to use regular
@ -75,7 +75,7 @@ public class SmallDocumentBlock
private static final byte _default_fill = ( byte ) 0xff; private static final byte _default_fill = ( byte ) 0xff;
private static final int _block_size = 64; private static final int _block_size = 64;
private static final int _blocks_per_big_block = private static final int _blocks_per_big_block =
PoiFSConstants.BIG_BLOCK_SIZE / _block_size; POIFSConstants.BIG_BLOCK_SIZE / _block_size;
private SmallDocumentBlock(final byte [] data, final int index) private SmallDocumentBlock(final byte [] data, final int index)
{ {

View File

@ -135,7 +135,7 @@ public class TestCellStyle
} }
/** /**
* Tests that is creating a file with a date works correctly. * Tests that is creating a file with a date or an calendar works correctly.
*/ */
public void testDataStyle() public void testDataStyle()
throws Exception throws Exception
@ -147,10 +147,21 @@ public class TestCellStyle
HSSFSheet s = wb.createSheet(); HSSFSheet s = wb.createSheet();
HSSFCellStyle cs = wb.createCellStyle(); HSSFCellStyle cs = wb.createCellStyle();
HSSFRow row = s.createRow((short)0); HSSFRow row = s.createRow((short)0);
// with Date:
HSSFCell cell = row.createCell((short)1); HSSFCell cell = row.createCell((short)1);
cs.setDataFormat(HSSFDataFormat.getFormat("m/d/yy")); cs.setDataFormat(HSSFDataFormat.getFormat("m/d/yy"));
cell.setCellStyle(cs); cell.setCellStyle(cs);
cell.setCellValue(new Date()); cell.setCellValue(new Date());
// with Calendar:
cell = row.createCell((short)2);
cs.setDataFormat(HSSFDataFormat.getFormat("m/d/yy"));
cell.setCellStyle(cs);
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cell.setCellValue(cal);
wb.write(out); wb.write(out);
out.close(); out.close();

View File

@ -61,7 +61,7 @@ import java.util.*;
import junit.framework.*; import junit.framework.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
/** /**
* Class to test DirectoryProperty functionality * Class to test DirectoryProperty functionality

View File

@ -61,7 +61,7 @@ import java.util.*;
import junit.framework.*; import junit.framework.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
/** /**
* Class to test RootProperty functionality * Class to test RootProperty functionality
@ -124,7 +124,7 @@ public class TestRootProperty
{ {
_testblock[ index ] = ( byte ) 0; _testblock[ index ] = ( byte ) 0;
} }
_testblock[ index++ ] = ( byte ) PoiFSConstants.END_OF_CHAIN; _testblock[ index++ ] = ( byte ) POIFSConstants.END_OF_CHAIN;
for (; index < 0x78; index++) for (; index < 0x78; index++)
{ {
_testblock[ index ] = ( byte ) 0xff; _testblock[ index ] = ( byte ) 0xff;

View File

@ -61,7 +61,7 @@ import java.util.*;
import junit.framework.*; import junit.framework.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts; import org.apache.poi.util.LittleEndianConsts;
@ -1254,7 +1254,7 @@ public class TestBlockAllocationTableReader
else if (i % 256 == 255) else if (i % 256 == 255)
{ {
assertEquals("Verify end of chain for block " + i, assertEquals("Verify end of chain for block " + i,
PoiFSConstants.END_OF_CHAIN, POIFSConstants.END_OF_CHAIN,
table.getNextBlockIndex(i)); table.getNextBlockIndex(i));
} }
else else

View File

@ -61,7 +61,7 @@ import java.util.*;
import junit.framework.*; import junit.framework.*;
import org.apache.poi.poifs.common.PoiFSConstants; import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts; import org.apache.poi.util.LittleEndianConsts;
@ -189,7 +189,7 @@ public class TestBlockAllocationTableWriter
offset += LittleEndianConsts.INT_SIZE; offset += LittleEndianConsts.INT_SIZE;
} }
LittleEndian.putInt(expected, offset, LittleEndian.putInt(expected, offset,
PoiFSConstants.END_OF_CHAIN); POIFSConstants.END_OF_CHAIN);
offset += 4; offset += 4;
block_index++; block_index++;
} }
@ -197,7 +197,7 @@ public class TestBlockAllocationTableWriter
// add BAT block indices // add BAT block indices
LittleEndian.putInt(expected, offset, block_index++); LittleEndian.putInt(expected, offset, block_index++);
offset += LittleEndianConsts.INT_SIZE; offset += LittleEndianConsts.INT_SIZE;
LittleEndian.putInt(expected, offset, PoiFSConstants.END_OF_CHAIN); LittleEndian.putInt(expected, offset, POIFSConstants.END_OF_CHAIN);
for (int k = 0; k < expected.length; k++) for (int k = 0; k < expected.length; k++)
{ {
assertEquals("At offset " + k, expected[ k ], output[ k ]); assertEquals("At offset " + k, expected[ k ], output[ k ]);