<!-- Don't forget to update changes.xml too! -->
<changes>
<release version="3.1-beta1" date="2008-??-??">
+ <action dev="POI-DEVELOPERS" type="fix">44495 - Handle named cell ranges in formulas that have lower case parts</action>
+ <action dev="POI-DEVELOPERS" type="fix">44491 - Don't have the new-style "HPSF properties are always available" affect the old-style use of HPSF alongside HSSF</action>
+ <action dev="POI-DEVELOPERS" type="fix">44471 - Crystal Reports generates files with short StyleRecords, which isn't allowed in the spec. Work around this</action>
<action dev="POI-DEVELOPERS" type="fix">44495 - Handle named cell ranges in formulas that have lower case parts</action>
<action dev="POI-DEVELOPERS" type="fix">44491 - Don't have the new-style "HPSF properties are always available" affect the old-style use of HPSF alongside HSSF</action>
<action dev="POI-DEVELOPERS" type="fix">44471 - Crystal Reports generates files with short StyleRecords, which isn't allowed in the spec. Work around this</action>
-
/* ====================================================================
Copyright 2002-2004 Apache Software Foundation
import org.apache.poi.util.LittleEndian;
/**
- * Title: DVAL Record<P>
+ * Title: DATAVALIDATIONS Record<P>
* Description: used in data validation ;
- * This record is the list header of all data validation records in the current sheet.
+ * This record is the list header of all data validation records (0x01BE) in the current sheet.
* @author Dragos Buleandra (dragos.buleandra@trade2b.ro)
- * @version 2.0-pre
*/
-
public class DVALRecord extends Record
{
public final static short sid = 0x01B2;
/** Object ID of the drop down arrow object for list boxes ;
* in our case this will be always FFFF , until
* MSODrawingGroup and MSODrawing records are implemented */
- private int field_cbo_id = 0xFFFFFFFF;
+ private int field_cbo_id;
/** Number of following DV Records */
- private int field_5_dv_no = 0x00000000;
+ private int field_5_dv_no;
- public DVALRecord()
- {
+ public DVALRecord() {
+ field_cbo_id = 0xFFFFFFFF;
+ field_5_dv_no = 0x00000000;
}
/**
--- /dev/null
+/* ====================================================================
+ 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.hssf.record;
+
+import java.io.ByteArrayInputStream;
+
+import org.apache.poi.util.LittleEndian;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * @author Josh Micich
+ */
+public final class TestDVALRecord extends TestCase {
+ public void testRead() {
+
+ byte[] data = new byte[22];
+ LittleEndian.putShort(data, 0, DVALRecord.sid);
+ LittleEndian.putShort(data, 2, (short)18);
+ LittleEndian.putShort(data, 4, (short)55);
+ LittleEndian.putInt(data, 6, 56);
+ LittleEndian.putInt(data, 10, 57);
+ LittleEndian.putInt(data, 14, 58);
+ LittleEndian.putInt(data, 18, 59);
+
+ RecordInputStream in = new RecordInputStream(new ByteArrayInputStream(data));
+ in.nextRecord();
+ DVALRecord dv = new DVALRecord(in);
+
+ assertEquals(55, dv.getOptions());
+ assertEquals(56, dv.getHorizontalPos());
+ assertEquals(57, dv.getVerticalPos());
+ assertEquals(58, dv.getObjectID());
+ if(dv.getDVRecNo() == 0) {
+ fail("Identified bug 44510");
+ }
+ assertEquals(59, dv.getDVRecNo());
+ }
+}