org.opendaylight.controller.netconf.util.xml.XmlElement.fromDomElement()方法的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(7.0k)|赞(0)|评价(0)|浏览(117)

本文整理了Java中org.opendaylight.controller.netconf.util.xml.XmlElement.fromDomElement()方法的一些代码示例,展示了XmlElement.fromDomElement()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XmlElement.fromDomElement()方法的具体详情如下:
包路径:org.opendaylight.controller.netconf.util.xml.XmlElement
类名称:XmlElement
方法名:fromDomElement

XmlElement.fromDomElement介绍

暂无

代码示例

代码示例来源:origin: org.opendaylight.controller/netconf-util

public static XmlElement fromDomElementWithExpected(Element element, String expectedName) throws NetconfDocumentedException {
  XmlElement xmlElement = XmlElement.fromDomElement(element);
  xmlElement.checkName(expectedName);
  return xmlElement;
}

代码示例来源:origin: org.opendaylight.controller/netconf-util

@Override
public boolean accept(Element e) {
  try {
    return XmlElement.fromDomElement(e).getNamespace().equals(namespace);
  } catch (MissingNameSpaceException e1) {
    return false;
  }
}

代码示例来源:origin: org.opendaylight.controller/netconf-impl

private static Document filtered(XmlElement filter, Document originalReplyDocument) throws NetconfDocumentedException {
  Document result = XmlUtil.newDocument();
  // even if filter is empty, copy /rpc/data
  Element rpcReply = originalReplyDocument.getDocumentElement();
  Node rpcReplyDst = result.importNode(rpcReply, false);
  result.appendChild(rpcReplyDst);
  XmlElement dataSrc = XmlElement.fromDomElement(rpcReply).getOnlyChildElement("data", XmlNetconfConstants.RFC4741_TARGET_NAMESPACE);
  Element dataDst = (Element) result.importNode(dataSrc.getDomElement(), false);
  rpcReplyDst.appendChild(dataDst);
  addSubtree(filter, dataSrc, XmlElement.fromDomElement(dataDst));
  return result;
}

代码示例来源:origin: org.opendaylight.controller/netconf-util

private static boolean isHelloMessage(final Document document) {
    XmlElement element = XmlElement.fromDomElement(document.getDocumentElement());
    try {
      // accept even if hello has no namespace
      return element.getName().equals(HELLO_TAG) &&
          (!element.hasNamespace() || element.getNamespace().equals(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0));
    } catch (MissingNameSpaceException e) {
      // Cannot happen, since we check for hasNamespace
      throw new IllegalStateException(e);
    }
  }
}

代码示例来源:origin: org.opendaylight.controller/netconf-testtool

.fromDomElement(ncAllFeatureDefinition)
  .getChildElements("configfile")) {
ncAllFeatureDefinition.removeChild(configfile.getDomElement());

代码示例来源:origin: org.opendaylight.controller/mdsal-netconf-connector

private Datastore extractTargetParameter(final XmlElement operationElement) throws NetconfDocumentedException {
  final NodeList elementsByTagName = operationElement.getDomElement().getElementsByTagName(TARGET_KEY);
  // Direct lookup instead of using XmlElement class due to performance
  if (elementsByTagName.getLength() == 0) {
    throw new NetconfDocumentedException("Missing target element", ErrorType.rpc, ErrorTag.missing_attribute, ErrorSeverity.error);
  } else if (elementsByTagName.getLength() > 1) {
    throw new NetconfDocumentedException("Multiple target elements", ErrorType.rpc, ErrorTag.unknown_attribute, ErrorSeverity.error);
  } else {
    final XmlElement targetChildNode = XmlElement.fromDomElement((Element) elementsByTagName.item(0)).getOnlyChildElement();
    return Datastore.valueOf(targetChildNode.getName());
  }
}

代码示例来源:origin: org.opendaylight.controller/netconf-util

@Override
public Document handle(final Document requestMessage,
    final NetconfOperationChainedExecution subsequentOperation) throws NetconfDocumentedException {
  XmlElement requestElement = getRequestElementWithCheck(requestMessage);
  Document document = XmlUtil.newDocument();
  XmlElement operationElement = requestElement.getOnlyChildElement();
  Map<String, Attr> attributes = requestElement.getAttributes();
  Element response = handle(document, operationElement, subsequentOperation);
  Element rpcReply = XmlUtil.createElement(document, XmlNetconfConstants.RPC_REPLY_KEY, Optional.of(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0));
  if(XmlElement.fromDomElement(response).hasNamespace()) {
    rpcReply.appendChild(response);
  } else {
    Element responseNS = XmlUtil.createElement(document, response.getNodeName(), Optional.of(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0));
    NodeList list = response.getChildNodes();
    while(list.getLength()!=0) {
      responseNS.appendChild(list.item(0));
    }
    rpcReply.appendChild(responseNS);
  }
  for (Attr attribute : attributes.values()) {
    rpcReply.setAttributeNode((Attr) document.importNode(attribute, true));
  }
  document.appendChild(rpcReply);
  return document;
}

代码示例来源:origin: org.opendaylight.controller/mdsal-netconf-connector

@Override
public Document handle(final Document requestMessage,
            final NetconfOperationChainedExecution subsequentOperation) throws NetconfDocumentedException {
  final XmlElement requestElement = getRequestElementWithCheck(requestMessage);
  final Document document = XmlUtil.newDocument();
  final XmlElement operationElement = requestElement.getOnlyChildElement();
  final Map<String, Attr> attributes = requestElement.getAttributes();
  final Element response = handle(document, operationElement, subsequentOperation);
  final Element rpcReply = XmlUtil.createElement(document, XmlNetconfConstants.RPC_REPLY_KEY, Optional.of(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0));
  if(XmlElement.fromDomElement(response).hasNamespace()) {
    rpcReply.appendChild(response);
  } else {
    final NodeList list = response.getChildNodes();
    if (list.getLength() == 0) {
      rpcReply.appendChild(response);
    } else {
      while (list.getLength() != 0) {
        rpcReply.appendChild(list.item(0));
      }
    }
  }
  for (Attr attribute : attributes.values()) {
    rpcReply.setAttributeNode((Attr) document.importNode(attribute, true));
  }
  document.appendChild(rpcReply);
  return document;
}

代码示例来源:origin: org.opendaylight.controller/config-netconf-connector

private Element toXml(Document doc, Object result, AttributeIfc returnType, String namespace, String elementName) throws NetconfDocumentedException {
  AttributeMappingStrategy<?, ? extends OpenType<?>> mappingStrategy = new ObjectMapper().prepareStrategy(returnType);
  Optional<?> mappedAttributeOpt = mappingStrategy.mapAttribute(result);
  Preconditions.checkState(mappedAttributeOpt.isPresent(), "Unable to map return value %s as %s", result, returnType.getOpenType());
  // FIXME: multiple return values defined as leaf-list and list in yang should not be wrapped in output xml element,
  // they need to be appended directly under rpc-reply element
  //
  // Either allow List of Elements to be returned from NetconfOperation or
  // pass reference to parent output xml element for netconf operations to
  // append result(s) on their own
  Element tempParent = XmlUtil.createElement(doc, "output", Optional.of(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0));
  new ObjectXmlWriter().prepareWritingStrategy(elementName, returnType, doc).writeElement(tempParent, namespace, mappedAttributeOpt.get());
  XmlElement xmlElement = XmlElement.fromDomElement(tempParent);
  return xmlElement.getChildElements().size() > 1 ? tempParent : xmlElement.getOnlyChildElement().getDomElement();
}

代码示例来源:origin: org.opendaylight.controller/netconf-impl

for (XmlElement srcChild : src.getChildElements()) {
  for (XmlElement filterChild : filter.getChildElements()) {
    MatchingResult childMatch = addSubtree2(filterChild, srcChild, XmlElement.fromDomElement(copied));
    if (childMatch == MatchingResult.CONTENT_MISMATCH) {
      return MatchingResult.NO_MATCH;

相关文章