From 6fc050034d748970ab47ac7f02f060444afa3d6e Mon Sep 17 00:00:00 2001 From: Josh Micich Date: Tue, 6 May 2008 03:57:15 +0000 Subject: [PATCH] 42570 - fixed LabelRecord to use empty string instead of null when the length is zero. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@653675 13f79535-47bb-0310-9956-ffa450edef68 --- src/documentation/content/xdocs/changes.xml | 1 + src/documentation/content/xdocs/status.xml | 1 + .../apache/poi/hssf/record/LabelRecord.java | 52 ++++++------------ .../apache/poi/hssf/data/ex42570-20305.xls | Bin 0 -> 192512 bytes .../poi/hssf/record/AllRecordTests.java | 1 + .../poi/hssf/record/TestLabelRecord.java | 41 ++++++++++++++ 6 files changed, 62 insertions(+), 34 deletions(-) create mode 100644 src/testcases/org/apache/poi/hssf/data/ex42570-20305.xls create mode 100644 src/testcases/org/apache/poi/hssf/record/TestLabelRecord.java diff --git a/src/documentation/content/xdocs/changes.xml b/src/documentation/content/xdocs/changes.xml index 5d842b02a..c711678b3 100644 --- a/src/documentation/content/xdocs/changes.xml +++ b/src/documentation/content/xdocs/changes.xml @@ -37,6 +37,7 @@ + 42570 - fixed LabelRecord to use empty string instead of null when the length is zero. 42564 - fixed ArrayPtg to use ConstantValueParser. Fixed a few other ArrayPtg encoding issues. Follow-on from 28754 - StringPtg.toFormulaString() should escape double quotes 44929 - Improved error handling in HSSFWorkbook when attempting to read a BIFF5 file diff --git a/src/documentation/content/xdocs/status.xml b/src/documentation/content/xdocs/status.xml index 97269693e..63a6b12bf 100644 --- a/src/documentation/content/xdocs/status.xml +++ b/src/documentation/content/xdocs/status.xml @@ -34,6 +34,7 @@ + 42570 - fixed LabelRecord to use empty string instead of null when the length is zero. 42564 - fixed ArrayPtg to use ConstantValueParser. Fixed a few other ArrayPtg encoding issues. Follow-on from 28754 - StringPtg.toFormulaString() should escape double quotes 44929 - Improved error handling in HSSFWorkbook when attempting to read a BIFF5 file diff --git a/src/java/org/apache/poi/hssf/record/LabelRecord.java b/src/java/org/apache/poi/hssf/record/LabelRecord.java index 2dc2d940f..c3fd5fb3d 100644 --- a/src/java/org/apache/poi/hssf/record/LabelRecord.java +++ b/src/java/org/apache/poi/hssf/record/LabelRecord.java @@ -1,4 +1,3 @@ - /* ==================================================================== Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with @@ -15,13 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. ==================================================================== */ - -/* - * LabelRecord.java - * - * Created on November 11, 2001, 12:51 PM - */ package org.apache.poi.hssf.record; /** @@ -33,14 +26,10 @@ package org.apache.poi.hssf.record; * @version 2.0-pre * @see org.apache.poi.hssf.record.LabelSSTRecord */ - -public class LabelRecord - extends Record - implements CellValueRecordInterface -{ +public final class LabelRecord extends Record implements CellValueRecordInterface { public final static short sid = 0x204; - //private short field_1_row; - private int field_1_row; + + private int field_1_row; private short field_2_column; private short field_3_xf_index; private short field_4_string_len; @@ -85,35 +74,30 @@ public class LabelRecord protected void fillFields(RecordInputStream in) { - //field_1_row = LittleEndian.getShort(data, 0 + offset); field_1_row = in.readUShort(); field_2_column = in.readShort(); field_3_xf_index = in.readShort(); field_4_string_len = in.readShort(); field_5_unicode_flag = in.readByte(); if (field_4_string_len > 0) { - if (isUnCompressedUnicode()) { - field_6_value = in.readUnicodeLEString(field_4_string_len); - } else { - field_6_value = in.readCompressedUnicode(field_4_string_len); + if (isUnCompressedUnicode()) { + field_6_value = in.readUnicodeLEString(field_4_string_len); + } else { + field_6_value = in.readCompressedUnicode(field_4_string_len); + } + } else { + field_6_value = ""; } - } else field_6_value = null; } -/* READ ONLY ACCESS... THIS IS FOR COMPATIBILITY ONLY...USE LABELSST! - public void setRow(short row) { - field_1_row = row; - } - - public void setColumn(short col) { - field_2_column = col; - } - - public void setXFIndex(short index) { - field_3_xf_index = index; - } - */ - //public short getRow() +/* + * READ ONLY ACCESS... THIS IS FOR COMPATIBILITY ONLY...USE LABELSST! public + * void setRow(short row) { field_1_row = row; } + * + * public void setColumn(short col) { field_2_column = col; } + * + * public void setXFIndex(short index) { field_3_xf_index = index; } + */ public int getRow() { return field_1_row; diff --git a/src/testcases/org/apache/poi/hssf/data/ex42570-20305.xls b/src/testcases/org/apache/poi/hssf/data/ex42570-20305.xls new file mode 100644 index 0000000000000000000000000000000000000000..e3d4cc837292362e12ec5fbafcb54a803923551c GIT binary patch literal 192512 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

|^IH0Rw%cF!0^I)? k*FFBD#9!~(K0~Pa&-Xg>Z1wrqjnA`{`@c2sfAjkP56;(8^#A|> literal 0 HcmV?d00001 diff --git a/src/testcases/org/apache/poi/hssf/record/AllRecordTests.java b/src/testcases/org/apache/poi/hssf/record/AllRecordTests.java index d2a1b3684..2b8e3c3ab 100755 --- a/src/testcases/org/apache/poi/hssf/record/AllRecordTests.java +++ b/src/testcases/org/apache/poi/hssf/record/AllRecordTests.java @@ -67,6 +67,7 @@ public final class AllRecordTests { result.addTestSuite(TestFormulaRecord.class); result.addTestSuite(TestFrameRecord.class); result.addTestSuite(TestHyperlinkRecord.class); + result.addTestSuite(TestLabelRecord.class); result.addTestSuite(TestLegendRecord.class); result.addTestSuite(TestLineFormatRecord.class); result.addTestSuite(TestLinkedDataRecord.class); diff --git a/src/testcases/org/apache/poi/hssf/record/TestLabelRecord.java b/src/testcases/org/apache/poi/hssf/record/TestLabelRecord.java new file mode 100644 index 000000000..10f363652 --- /dev/null +++ b/src/testcases/org/apache/poi/hssf/record/TestLabelRecord.java @@ -0,0 +1,41 @@ +/* ==================================================================== + 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 org.apache.poi.hssf.HSSFTestDataSamples; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +import junit.framework.AssertionFailedError; +import junit.framework.TestCase; +/** + * Tests for LabelRecord + * + * @author Josh Micich + */ +public final class TestLabelRecord extends TestCase { + + public void testEmptyString() { + HSSFWorkbook wb; + try { + wb = HSSFTestDataSamples.openSampleWorkbook("ex42570-20305.xls"); + } catch (NullPointerException e) { + throw new AssertionFailedError("Identified bug 42570"); + } + HSSFTestDataSamples.writeOutAndReadBack(wb); + } +}