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

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

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

XmlElement.getOnlyChildElement介绍

暂无

代码示例

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

private static Optional<Datastore> parseSource(final XmlElement xml) throws DocumentedException {
  final Optional<XmlElement> sourceElement = xml.getOnlyChildElementOptionally(XmlNetconfConstants.SOURCE_KEY,
      XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0);
  return  sourceElement.isPresent() ?
      Optional.of(Datastore.valueOf(sourceElement.get().getOnlyChildElement().getName())) : Optional.<Datastore>absent();
}

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

public XmlElement getOnlyChildElementWithSameNamespace(String childName) throws  DocumentedException {
  return getOnlyChildElement(childName, getNamespace());
}

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

private Element getPlaceholder(final Document innerResult)
    throws DocumentedException {
  final XmlElement rootElement = XmlElement.fromDomElementWithExpected(
      innerResult.getDocumentElement(), XmlMappingConstants.RPC_REPLY_KEY, XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0);
  return rootElement.getOnlyChildElement(XmlNetconfConstants.DATA_KEY).getDomElement();
}

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

requestElement = getRequestElementWithCheck(message);
XmlElement operationElement = requestElement.getOnlyChildElement();
final String netconfOperationName = operationElement.getName();
final String netconfOperationNamespace;

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

public static Document checkIsMessageOk(Document response) throws DocumentedException {
  XmlElement element = XmlElement.fromDomDocument(response);
  Preconditions.checkState(element.getName().equals(XmlMappingConstants.RPC_REPLY_KEY));
  element = element.getOnlyChildElement();
  if (element.getName().equals(XmlNetconfConstants.OK)) {
    return response;
  }
  LOG.warn("Can not load last configuration. Operation failed.");
  throw new IllegalStateException("Can not load last configuration. Operation failed: "
      + XmlUtil.toString(response));
}

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

public static Datastore fromXml(XmlElement xml) throws DocumentedException {
  xml.checkName(GET_CONFIG);
  xml.checkNamespace(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0);
  XmlElement sourceElement = xml.getOnlyChildElement(XmlNetconfConstants.SOURCE_KEY,
      XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0);
  XmlElement sourceNode = sourceElement.getOnlyChildElement();
  String sourceParsed = sourceNode.getName();
  LOG.debug("Setting source datastore to '{}'", sourceParsed);
  Datastore sourceDatastore = Datastore.valueOf(sourceParsed);
  // Filter option: ignore for now, TODO only load modules specified by the filter
  return sourceDatastore;
}

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

@VisibleForTesting
protected YangInstanceIdentifier getInstanceIdentifierFromFilter(XmlElement filterElement) throws DocumentedException {
  if (filterElement.getChildElements().size() != 1) {
    throw new DocumentedException("Multiple filter roots not supported yet",
        ErrorType.application, ErrorTag.operation_not_supported, ErrorSeverity.error);
  }
  XmlElement element = filterElement.getOnlyChildElement();
  return validator.validate(element);
}

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

public static boolean isOKMessage(XmlElement xmlElement) throws NetconfDocumentedException {
  if(xmlElement.getChildElements().size() != 1) {
    return false;
  }
  try {
    return xmlElement.getOnlyChildElement().getName().equals(XmlNetconfConstants.OK);
  } catch (DocumentedException e) {
    throw new NetconfDocumentedException(e);
  }
}

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

public XmlElement getOnlyChildElementWithSameNamespace() throws DocumentedException {
  XmlElement childElement = getOnlyChildElement();
  childElement.checkNamespace(getNamespace());
  return childElement;
}

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

public static boolean isErrorMessage(XmlElement xmlElement) throws NetconfDocumentedException {
  if(xmlElement.getChildElements().size() != 1) {
    return false;
  }
  try {
    return xmlElement.getOnlyChildElement().getName().equals(DocumentedException.RPC_ERROR);
  } catch (DocumentedException e) {
    throw new NetconfDocumentedException(e);
  }
}

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

private static Document filtered(XmlElement filter, Document originalReplyDocument) throws DocumentedException {
  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.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0);
  Element dataDst = (Element) result.importNode(dataSrc.getDomElement(), false);
  rpcReplyDst.appendChild(dataDst);
  addSubtree(filter, dataSrc, XmlElement.fromDomElement(dataDst));
  return result;
}

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

private static Document extractNotificationContent(Document notification) throws DocumentedException {
  XmlElement root = XmlElement.fromDomElement(notification.getDocumentElement());
  XmlElement content = root.getOnlyChildElement();
  notification.removeChild(root.getDomElement());
  notification.appendChild(content.getDomElement());
  return notification;
}

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

private Datastore extractTargetParameter(final XmlElement operationElement) throws DocumentedException {
  final NodeList elementsByTagName = operationElement.getDomElement().getElementsByTagName(TARGET_KEY);
  // Direct lookup instead of using XmlElement class due to performance
  if (elementsByTagName.getLength() == 0) {
    throw new DocumentedException("Missing target element", ErrorType.rpc, ErrorTag.missing_attribute, ErrorSeverity.error);
  } else if (elementsByTagName.getLength() > 1) {
    throw new DocumentedException("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.netconf/netconf-util

private static Document filteredNotification(XmlElement filter, Document originalNotification) throws DocumentedException {
  Document result = XmlUtil.newDocument();
  XmlElement dataSrc = XmlElement.fromDomDocument(originalNotification);
  Element dataDst = (Element) result.importNode(dataSrc.getDomElement(), false);
  for (XmlElement filterChild : filter.getChildElements()) {
    addSubtree2(filterChild, dataSrc.getOnlyChildElement(), XmlElement.fromDomElement(dataDst));
  }
  if(dataDst.getFirstChild() != null) {
    result.appendChild(dataDst.getFirstChild());
    return result;
  } else {
    return null;
  }
}

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

public OperationNameAndNamespace(final Document message) throws DocumentedException {
  XmlElement requestElement = null;
  requestElement = getRequestElementWithCheck(message);
  operationElement = requestElement.getOnlyChildElement();
  operationName = operationElement.getName();
  namespace = operationElement.getNamespace();
}

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

@Override
public Document handle(final Document requestMessage,
            final NetconfOperationChainedExecution subsequentOperation) throws DocumentedException {
  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, XmlMappingConstants.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.netconf/netconf-util

@Override
public Document handle(final Document requestMessage,
    final NetconfOperationChainedExecution subsequentOperation) throws DocumentedException {
  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, XmlMappingConstants.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.netconf/config-netconf-connector

private void checkXml(XmlElement xml) throws DocumentedException {
  xml.checkName(VALIDATE);
  xml.checkNamespace(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0);
  XmlElement sourceElement = xml.getOnlyChildElement(XmlNetconfConstants.SOURCE_KEY,
      XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0);
  XmlElement sourceChildNode = sourceElement.getOnlyChildElement();
  sourceChildNode.checkNamespace(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0);
  String datastoreValue = sourceChildNode.getName();
  Datastore sourceDatastore = Datastore.valueOf(datastoreValue);
  if (sourceDatastore != Datastore.candidate){
    throw new DocumentedException( "Only " + Datastore.candidate
        + " is supported as source for " + VALIDATE + " but was " + datastoreValue, ErrorType.application, ErrorTag.data_missing, ErrorSeverity.error);
  }
}

相关文章