From 954dacdbda8ab41bcd5dca12f2b19fbc55c11ec9 Mon Sep 17 00:00:00 2001 From: Edison Su Date: Thu, 24 Mar 2011 11:33:30 -0400 Subject: [PATCH] fix NPE on centos when dumpxml --- .../computing/LibvirtDomainXMLParser.java | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/agent/src/com/cloud/agent/resource/computing/LibvirtDomainXMLParser.java b/agent/src/com/cloud/agent/resource/computing/LibvirtDomainXMLParser.java index d591b86f799..59a7c99face 100644 --- a/agent/src/com/cloud/agent/resource/computing/LibvirtDomainXMLParser.java +++ b/agent/src/com/cloud/agent/resource/computing/LibvirtDomainXMLParser.java @@ -137,21 +137,27 @@ public class LibvirtDomainXMLParser { return false; } - private static String getTagValue(String tag, Element eElement){ - NodeList nlList= eElement.getElementsByTagName(tag).item(0).getChildNodes(); - Node nValue = (Node) nlList.item(0); - - return nValue.getNodeValue(); - } + private static String getTagValue(String tag, Element eElement){ + NodeList tagNodeList = eElement.getElementsByTagName(tag); + if (tagNodeList == null || tagNodeList.getLength() == 0) { + return null; + } - private static String getAttrValue(String tag, String attr, Element eElement){ - NodeList tagNode = eElement.getElementsByTagName(tag); - if (tagNode.getLength() == 0) { - return null; - } - Element node = (Element)tagNode.item(0); - return node.getAttribute(attr); - } + NodeList nlList= tagNodeList.item(0).getChildNodes(); + + Node nValue = (Node) nlList.item(0); + + return nValue.getNodeValue(); + } + + private static String getAttrValue(String tag, String attr, Element eElement){ + NodeList tagNode = eElement.getElementsByTagName(tag); + if (tagNode.getLength() == 0) { + return null; + } + Element node = (Element)tagNode.item(0); + return node.getAttribute(attr); + } public Integer getVncPort() { return vncPort;