Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 70054200C85 for ; Tue, 16 May 2017 02:41:28 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 6E912160BCE; Tue, 16 May 2017 00:41:28 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id B5C9E160BC2 for ; Tue, 16 May 2017 02:41:27 +0200 (CEST) Received: (qmail 24609 invoked by uid 500); 16 May 2017 00:41:26 -0000 Mailing-List: contact commits-help@poi.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@poi.apache.org Delivered-To: mailing list commits@poi.apache.org Received: (qmail 24600 invoked by uid 99); 16 May 2017 00:41:26 -0000 Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 May 2017 00:41:26 +0000 Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 244E73A03A7 for ; Tue, 16 May 2017 00:41:26 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1795254 - /poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java Date: Tue, 16 May 2017 00:41:25 -0000 To: commits@poi.apache.org From: onealj@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20170516004126.244E73A03A7@svn01-us-west.apache.org> archived-at: Tue, 16 May 2017 00:41:28 -0000 Author: onealj Date: Tue May 16 00:41:25 2017 New Revision: 1795254 URL: http://svn.apache.org/viewvc?rev=1795254&view=rev Log: github-53: fix NPE when iterating over paragraphs in certain *.docx files. Thanks to Praful Kumar Vaishnav! This closes #53. https://github.com/apache/poi/pull/53 Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java?rev=1795254&r1=1795253&r2=1795254&view=diff ============================================================================== --- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java Tue May 16 00:41:25 2017 @@ -817,14 +817,30 @@ public class XWPFParagraph implements IB * @return boolean - if page break is set */ public boolean isPageBreak() { - CTPPr ppr = getCTPPr(); - CTOnOff ctPageBreak = ppr.isSetPageBreakBefore() ? ppr - .getPageBreakBefore() : null; - if (ctPageBreak != null - && ctPageBreak.getVal().intValue() == STOnOff.INT_TRUE) { - return true; + final CTPPr ppr = getCTPPr(); + final CTOnOff ctPageBreak = ppr.isSetPageBreakBefore() ? ppr.getPageBreakBefore() : null; + if (ctPageBreak == null) { + return false; + } + return isTruelike(ctPageBreak.getVal(), false); + } + + private static boolean isTruelike(final STOnOff.Enum value, boolean defaultValue) { + if (value == null) { + return defaultValue; + } + switch (value.intValue()) { + case STOnOff.INT_TRUE: + case STOnOff.INT_X_1: + case STOnOff.INT_ON: + return true; + case STOnOff.INT_FALSE: + case STOnOff.INT_X_0: + case STOnOff.INT_OFF: + return false; + default: + return defaultValue; } - return false; } /** --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org For additional commands, e-mail: commits-help@poi.apache.org