X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Futil%2Fmessages%2FNetconfMessageUtil.java;h=49395d53d21225a20b6d47491db0e05fd03626eb;hp=e4d97cf65af4ef805b6ecf9cff3133a65cf964ab;hb=6dae254dbc2940d1f0f372d65d69b0e0dda415fe;hpb=408eeef51f435abd2027f9d25ac5592066b202dd diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageUtil.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageUtil.java index e4d97cf65a..49395d53d2 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageUtil.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageUtil.java @@ -10,9 +10,12 @@ package org.opendaylight.controller.netconf.util.messages; import com.google.common.base.Function; import com.google.common.collect.Collections2; +import org.opendaylight.controller.netconf.api.NetconfDocumentedException; import org.opendaylight.controller.netconf.api.NetconfMessage; import org.opendaylight.controller.netconf.util.xml.XmlElement; import org.opendaylight.controller.netconf.util.xml.XmlNetconfConstants; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.w3c.dom.Document; import javax.annotation.Nullable; @@ -21,39 +24,41 @@ import java.util.List; public final class NetconfMessageUtil { + private static final Logger logger = LoggerFactory.getLogger(NetconfMessageUtil.class); + private NetconfMessageUtil() {} - public static boolean isOKMessage(NetconfMessage message) { + public static boolean isOKMessage(NetconfMessage message) throws NetconfDocumentedException { return isOKMessage(message.getDocument()); } - public static boolean isOKMessage(Document document) { + public static boolean isOKMessage(Document document) throws NetconfDocumentedException { return isOKMessage(XmlElement.fromDomDocument(document)); } - public static boolean isOKMessage(XmlElement xmlElement) { + public static boolean isOKMessage(XmlElement xmlElement) throws NetconfDocumentedException { if(xmlElement.getChildElements().size() != 1) { return false; } return xmlElement.getOnlyChildElement().getName().equals(XmlNetconfConstants.OK); } - public static boolean isErrorMessage(NetconfMessage message) { + public static boolean isErrorMessage(NetconfMessage message) throws NetconfDocumentedException { return isErrorMessage(message.getDocument()); } - public static boolean isErrorMessage(Document document) { + public static boolean isErrorMessage(Document document) throws NetconfDocumentedException { return isErrorMessage(XmlElement.fromDomDocument(document)); } - public static boolean isErrorMessage(XmlElement xmlElement) { + public static boolean isErrorMessage(XmlElement xmlElement) throws NetconfDocumentedException { if(xmlElement.getChildElements().size() != 1) { return false; } return xmlElement.getOnlyChildElement().getName().equals(XmlNetconfConstants.RPC_ERROR); } - public static Collection extractCapabilitiesFromHello(Document doc) { + public static Collection extractCapabilitiesFromHello(Document doc) throws NetconfDocumentedException { XmlElement responseElement = XmlElement.fromDomDocument(doc); XmlElement capabilitiesElement = responseElement .getOnlyChildElementWithSameNamespace(XmlNetconfConstants.CAPABILITIES); @@ -64,7 +69,12 @@ public final class NetconfMessageUtil { @Override public String apply(@Nullable XmlElement input) { // Trim possible leading/tailing whitespace - return input.getTextContent().trim(); + try { + return input.getTextContent().trim(); + } catch (NetconfDocumentedException e) { + logger.trace("Error fetching inpit text content becauese {}",e); + return null; + } } });