From 9f2624eb855aaa4dc80d65aa99ee55f56ebd2cf5 Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Thu, 20 Jun 2013 00:52:22 +0200 Subject: [PATCH] fix NPEs in required attribute methods --- enabler/src/de/schildbach/pte/util/XmlPullUtil.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/enabler/src/de/schildbach/pte/util/XmlPullUtil.java b/enabler/src/de/schildbach/pte/util/XmlPullUtil.java index ae98b4b0..65856936 100644 --- a/enabler/src/de/schildbach/pte/util/XmlPullUtil.java +++ b/enabler/src/de/schildbach/pte/util/XmlPullUtil.java @@ -111,7 +111,12 @@ public final class XmlPullUtil public static String attr(final XmlPullParser pp, final String attrName) { - return pp.getAttributeValue(null, attrName).trim(); + final String attr = optAttr(pp, attrName, null); + + if (attr != null) + return attr; + else + throw new IllegalStateException("expecting attribute: " + attrName); } public static String optAttr(final XmlPullParser pp, final String attrName, final String defaultValue) @@ -131,7 +136,7 @@ public final class XmlPullUtil public static int intAttr(final XmlPullParser pp, final String attrName) { - return Integer.parseInt(pp.getAttributeValue(null, attrName).trim()); + return Integer.parseInt(attr(pp, attrName)); } public static int optIntAttr(final XmlPullParser pp, final String attrName, final int defaultValue) @@ -145,7 +150,7 @@ public final class XmlPullUtil public static float floatAttr(final XmlPullParser pp, final String attrName) { - return Float.parseFloat(pp.getAttributeValue(null, attrName).trim()); + return Float.parseFloat(attr(pp, attrName)); } public static float optFloatAttr(final XmlPullParser pp, final String attrName, final float defaultValue)