gpt4 book ai didi

org.opendaylight.controller.config.util.xml.XmlElement类的使用及代码示例

转载 作者:知者 更新时间:2024-03-21 02:41:05 26 4
gpt4 key购买 nike

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

XmlElement介绍

暂无

代码示例

代码示例来源: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/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.controller/config-util

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

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

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

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

private static void checkXml(XmlElement xml) throws DocumentedException {
  xml.checkName(XmlNetconfConstants.GET);
  xml.checkNamespace(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0);
  // Filter option: ignore for now, TODO only load modules specified by the filter
}

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

public static XmlElement fromDomElementWithExpected(Element element, String expectedName, String expectedNamespace) throws DocumentedException {
  XmlElement xmlElement = XmlElement.fromDomElementWithExpected(element, expectedName);
  xmlElement.checkNamespace(expectedNamespace);
  return xmlElement;
}

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

GetSchemaEntry(final XmlElement getSchemaElement) throws DocumentedException {
    getSchemaElement.checkName(GET_SCHEMA);
    getSchemaElement.checkNamespace(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_YANG_IETF_NETCONF_MONITORING);
    XmlElement identifierElement = null;
    try {
      identifierElement = getSchemaElement.getOnlyChildElementWithSameNamespace(IDENTIFIER);
    } catch (final DocumentedException e) {
      LOG.trace("Can't get identifier element as only child element with same namespace due to ",e);
      throw DocumentedException.wrap(e);
    }
    identifier = identifierElement.getTextContent();
    final Optional<XmlElement> versionElement = getSchemaElement
        .getOnlyChildElementWithSameNamespaceOptionally(VERSION);
    if (versionElement.isPresent()) {
      version = Optional.of(versionElement.get().getTextContent());
    } else {
      version = Optional.absent();
    }
  }
}

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

requestElement = getRequestElementWithCheck(message);
XmlElement operationElement = requestElement.getOnlyChildElement();
final String netconfOperationName = operationElement.getName();
final String netconfOperationNamespace;
try {
  netconfOperationNamespace = operationElement.getNamespace();
} catch (DocumentedException e) {
  LOG.debug("Cannot retrieve netconf operation namespace from message due to ", e);
    .getOnlyChildElementOptionally(RpcFacade.CONTEXT_INSTANCE);
    .getTextContent(), netconfOperationName, netconfOperationNamespace);

代码示例来源: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 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

@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

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/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.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/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.netconf/netconf-util

public static Collection<String> extractCapabilitiesFromHello(Document doc) throws NetconfDocumentedException {
    XmlElement responseElement = XmlElement.fromDomDocument(doc);
    // Extract child element <capabilities> from <hello> with or without(fallback) the same namespace
    Optional<XmlElement> capabilitiesElement = responseElement
        .getOnlyChildElementWithSameNamespaceOptionally(XmlNetconfConstants.CAPABILITIES)
        .or(responseElement
            .getOnlyChildElementOptionally(XmlNetconfConstants.CAPABILITIES));

    List<XmlElement> caps = capabilitiesElement.get().getChildElements(XmlNetconfConstants.CAPABILITY);
    return Collections2.transform(caps, new Function<XmlElement, String>() {

      @Override
      public String apply(@Nonnull XmlElement input) {
        // Trim possible leading/tailing whitespace
        try {
          return input.getTextContent().trim();
        } catch (DocumentedException e) {
          LOG.trace("Error fetching input text content",e);
          return null;
        }
      }
    });

  }
}

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

/**
 * Recursively checks filter elements against the schema. Returns tree of nodes QNames as they appear in filter.
 * @param element element to check
 * @param parentNodeSchema parent node schema
 * @param tree parent node tree
 * @return tree
 * @throws ValidationException if filter content is not valid
 */
private FilterTree validateNode(XmlElement element, DataSchemaNode parentNodeSchema, FilterTree tree) throws ValidationException {
  final List<XmlElement> childElements = element.getChildElements();
  for (XmlElement childElement : childElements) {
    try {
      final Deque<DataSchemaNode> path = findSchemaNodeByNameAndNamespace(parentNodeSchema, childElement.getName(), new URI(childElement.getNamespace()));
      if (path.isEmpty()) {
        throw new ValidationException(element, childElement);
      }
      FilterTree subtree = tree;
      for (DataSchemaNode dataSchemaNode : path) {
          subtree = subtree.addChild(dataSchemaNode);
      }
      final DataSchemaNode childSchema = path.getLast();
      validateNode(childElement, childSchema, subtree);
    } catch (URISyntaxException | MissingNameSpaceException e) {
      throw new RuntimeException("Wrong namespace in element + " + childElement.toString());
    }
  }
  return tree;
}

代码示例来源: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.controller/config-util

@Override
public String toString() {
  final StringBuilder sb = new StringBuilder("XmlElement{");
  sb.append("name='").append(getName()).append('\'');
  if (element.getNamespaceURI() != null) {
    try {
      sb.append(", namespace='").append(getNamespace()).append('\'');
    } catch (MissingNameSpaceException e) {
      LOG.trace("Missing namespace for element.");
    }
  }
  sb.append('}');
  return sb.toString();
}

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

private static MatchingResult addSubtree2(XmlElement filter, XmlElement src, XmlElement dstParent) throws DocumentedException {
  Document document = dstParent.getDomElement().getOwnerDocument();
  MatchingResult matches = matches(src, filter);
  if (matches != MatchingResult.NO_MATCH && matches != MatchingResult.CONTENT_MISMATCH) {
    boolean filterHasChildren = filter.getChildElements().isEmpty() == false;
    Element copied = (Element) document.importNode(src.getDomElement(), filterHasChildren == false);
    boolean shouldAppend = filterHasChildren == false;
    if (filterHasChildren) { // this implies TAG_MATCH
      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;
      if (numberOfTextMatchingChildren == filter.getChildElements().size()) {
        copied = (Element) document.importNode(src.getDomElement(), true);
      dstParent.getDomElement().appendChild(copied);

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com