You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ye...@apache.org on 2010/10/14 12:30:29 UTC

svn commit: r1022456 - in /poi/trunk: src/documentation/content/xdocs/status.xml src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug50075.java test-data/document/Bug50075.doc

Author: yegor
Date: Thu Oct 14 10:30:29 2010
New Revision: 1022456

URL: http://svn.apache.org/viewvc?rev=1022456&view=rev
Log:
avoid NPE in ListLevel.getNumberText() when numberText is null, see Bugzilla 50075

Added:
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug50075.java   (with props)
    poi/trunk/test-data/document/Bug50075.doc   (with props)
Modified:
    poi/trunk/src/documentation/content/xdocs/status.xml
    poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java

Modified: poi/trunk/src/documentation/content/xdocs/status.xml
URL: http://svn.apache.org/viewvc/poi/trunk/src/documentation/content/xdocs/status.xml?rev=1022456&r1=1022455&r2=1022456&view=diff
==============================================================================
--- poi/trunk/src/documentation/content/xdocs/status.xml (original)
+++ poi/trunk/src/documentation/content/xdocs/status.xml Thu Oct 14 10:30:29 2010
@@ -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>

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java?rev=1022456&r1=1022455&r2=1022456&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java Thu Oct 14 10:30:29 2010
@@ -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)

Added: poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug50075.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug50075.java?rev=1022456&view=auto
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug50075.java (added)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug50075.java Thu Oct 14 10:30:29 2010
@@ -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();
+  }
+  
+}

Propchange: poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug50075.java
------------------------------------------------------------------------------
    svn:executable = *

Added: poi/trunk/test-data/document/Bug50075.doc
URL: http://svn.apache.org/viewvc/poi/trunk/test-data/document/Bug50075.doc?rev=1022456&view=auto
==============================================================================
Binary file - no diff available.

Propchange: poi/trunk/test-data/document/Bug50075.doc
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org