diff options
-rw-r--r-- | src/documentation/content/xdocs/status.xml | 1 | ||||
-rw-r--r-- | src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java | 5 | ||||
-rwxr-xr-x | src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug50075.java | 41 | ||||
-rw-r--r-- | test-data/document/Bug50075.doc | bin | 0 -> 55296 bytes |
4 files changed, 46 insertions, 1 deletions
diff --git a/src/documentation/content/xdocs/status.xml b/src/documentation/content/xdocs/status.xml index 3e7f469df8..a0cf1a988a 100644 --- a/src/documentation/content/xdocs/status.xml +++ b/src/documentation/content/xdocs/status.xml @@ -34,6 +34,7 @@ <changes> <release version="3.7-beta4" date="2010-??-??"> + <action dev="poi-developers" type="fix">50075 - avoid NPE in ListLevel.getNumberText() when numberText is null </action> <action dev="poi-developers" type="fix">50067 - marked commons-logging and log4j as optional dependencies in POI poms</action> <action dev="poi-developers" type="add">49928 - allow overridden built-in formats in XSSFCellStyle</action> <action dev="poi-developers" type="fix">49919 - support for BorderCode in HWPF</action> diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java b/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java index d6392af776..b8939b3817 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java @@ -141,7 +141,10 @@ public final class ListLevel public String getNumberText() { - return new String(_numberText); + if (_numberText != null) + return new String(_numberText); + else + return null; } public void setStartAt(int startAt) diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug50075.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug50075.java new file mode 100755 index 0000000000..24ac72fe40 --- /dev/null +++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug50075.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.hwpf.usermodel;
+
+import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
+import org.apache.poi.hwpf.model.ListFormatOverride;
+import org.apache.poi.hwpf.model.ListLevel;
+
+import junit.framework.TestCase;
+
+public class TestBug50075 extends TestCase
+{
+
+ public void test() {
+ HWPFDocument doc = HWPFTestDataSamples.openSampleFile("Bug50075.doc");
+ Range range = doc.getRange();
+ assertEquals(1, range.numParagraphs());
+ ListEntry entry = (ListEntry) range.getParagraph(0);
+ ListFormatOverride override = doc.getListTables().getOverride(entry.getIlfo());
+ ListLevel level = doc.getListTables().getLevel(override.getLsid(), entry.getIlvl());
+
+ // the bug reproduces, if this call fails with NullPointerException
+ level.getNumberText();
+ }
+
+}
diff --git a/test-data/document/Bug50075.doc b/test-data/document/Bug50075.doc Binary files differnew file mode 100644 index 0000000000..15303a46fe --- /dev/null +++ b/test-data/document/Bug50075.doc |