gpt4 book ai didi

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

转载 作者:知者 更新时间:2024-03-26 01:43:05 30 4
gpt4 key购买 nike

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

XmlUtil.createElement介绍

暂无

代码示例

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

public static Element createTextElement(final Document document, final String qName, final String content, final Optional<String> namespaceURI) {
  Element typeElement = createElement(document, qName, namespaceURI);
  typeElement.appendChild(document.createTextNode(content));
  return typeElement;
}

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

@Override
protected Element handleWithNoSubsequentOperations(final Document document, final XmlElement operationElement) throws DocumentedException {
  boolean commitStatus = transactionProvider.commitTransaction();
  LOG.trace("Commit completed successfully {}", commitStatus);
  return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.<String>absent());
}

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

@Override
protected Element handleWithNoSubsequentOperations(final Document document, final XmlElement operationElement) throws DocumentedException {
  try {
    transactionProvider.abortTransaction();
  } catch (IllegalStateException e) {
    LOG.warn("Abort failed ", e);
    final Map<String, String> errorInfo = new HashMap<>();
    errorInfo
        .put(ErrorTag.operation_failed.name(),
            "Operation failed. Use 'get-config' or 'edit-config' before triggering 'discard-changes' operation");
    throw new DocumentedException(e.getMessage(), e, ErrorType.application, ErrorTag.operation_failed,
        ErrorSeverity.error, errorInfo);
  }
  return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.<String>absent());
}

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

@Override
protected Element handleWithNoSubsequentOperations(final Document document, final XmlElement operationElement) throws DocumentedException {
  final Datastore targetDatastore = Lock.extractTargetParameter(operationElement);
  if (targetDatastore == Datastore.candidate) {
    LOG.debug("Unlocking candidate datastore on session: {}", getNetconfSessionIdForReporting());
    return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.<String>absent());
  }
  throw new DocumentedException("Unable to unlock " + targetDatastore + " datastore", DocumentedException.ErrorType.application,
      DocumentedException.ErrorTag.operation_not_supported, DocumentedException.ErrorSeverity.error);
}

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

@Override
protected Element handleWithNoSubsequentOperations(final Document document, final XmlElement operationElement) throws DocumentedException {
  final Datastore targetDatastore = extractTargetParameter(operationElement);
  if (targetDatastore == Datastore.candidate) {
    LOG.debug("Locking candidate datastore on session: {}", getNetconfSessionIdForReporting());
    return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.<String>absent());
  }
  throw new DocumentedException("Unable to lock " + targetDatastore + " datastore", DocumentedException.ErrorType.application,
      DocumentedException.ErrorTag.operation_not_supported, DocumentedException.ErrorSeverity.error);
}

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

@Override
protected Element handleWithNoSubsequentOperations(final Document document, final XmlElement operationElement) throws DocumentedException {
  final Datastore targetDatastore = extractTargetParameter(operationElement);
  if(targetDatastore == Datastore.candidate) {
    // Since candidate datastore instances are allocated per session and not accessible anywhere else, no need to lock
    LOG.debug("Locking {} datastore on session: {}", targetDatastore, getNetconfSessionIdForReporting());
    // TODO should this fail if we are already locked ?
    return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.<String>absent());
  }
  // Not supported running lock
  throw new DocumentedException("Unable to lock " + Datastore.running + " datastore", DocumentedException.ErrorType.application,
      DocumentedException.ErrorTag.operation_not_supported, DocumentedException.ErrorSeverity.error);
}

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

@Override
protected Element handleWithNoSubsequentOperations(final Document document, final XmlElement operationElement) throws DocumentedException {
  final Datastore targetDatastore = Lock.extractTargetParameter(operationElement);
  if(targetDatastore == Datastore.candidate) {
    // Since candidate datastore instances are allocated per session and not accessible anywhere else, no need to lock
    LOG.debug("Unlocking {} datastore on session: {}", targetDatastore, getNetconfSessionIdForReporting());
    // TODO this should fail if we are not locked
    return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.<String>absent());
  }
  // Not supported running lock
  throw new DocumentedException("Unable to unlock " + Datastore.running + " datastore", DocumentedException.ErrorType.application,
      DocumentedException.ErrorTag.operation_not_supported, DocumentedException.ErrorSeverity.error);
}

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

@Override
protected Element handleWithNoSubsequentOperations(Document document, XmlElement xml) throws DocumentedException {
  checkXml(xml);
  CommitStatus status;
  try {
    status = getConfigSubsystemFacade().commitTransaction();
    LOG.trace("Datastore {} committed successfully: {}", Datastore.candidate, status);
  } catch (ConflictingVersionException | ValidationException e) {
    throw DocumentedException.wrap(e);
  }
  LOG.trace("Datastore {} committed successfully: {}", Datastore.candidate, status);
  return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.<String>absent());
}

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

@Override
protected Element handleWithNoSubsequentOperations(Document document, XmlElement operationElement) throws DocumentedException {
  final Optional<YangInstanceIdentifier> dataRootOptional = getDataRootFromFilter(operationElement);
  if (!dataRootOptional.isPresent()) {
    return XmlUtil.createElement(document, XmlNetconfConstants.DATA_KEY, Optional.<String>absent());
  }
  final YangInstanceIdentifier dataRoot = dataRootOptional.get();
  DOMDataReadWriteTransaction rwTx = getTransaction(Datastore.running);
  try {
    final Optional<NormalizedNode<?, ?>> normalizedNodeOptional = rwTx.read(LogicalDatastoreType.OPERATIONAL, dataRoot).checkedGet();
    transactionProvider.abortRunningTransaction(rwTx);
    if (!normalizedNodeOptional.isPresent()) {
      return XmlUtil.createElement(document, XmlNetconfConstants.DATA_KEY, Optional.<String>absent());
    }
    return serializeNodeWithParentStructure(document, dataRoot, normalizedNodeOptional.get());
  } catch (ReadFailedException e) {
    LOG.warn("Unable to read data: {}", dataRoot, e);
    throw new IllegalStateException("Unable to read data " + dataRoot, e);
  }
}

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

@VisibleForTesting
Element getResponseInternal(final Document document,
    final ConfigExecution configExecution) throws DocumentedException {
  try {
    getConfigSubsystemFacade().executeConfigExecution(configExecution);
  } catch (ValidationException e) {
    LOG.warn("Test phase for {} failed", EditConfigXmlParser.EDIT_CONFIG, e);
    final Map<String, String> errorInfo = new HashMap<>();
    errorInfo.put(ErrorTag.operation_failed.name(), e.getMessage());
    throw new DocumentedException("Test phase: " + e.getMessage(), e, ErrorType.application,
        ErrorTag.operation_failed, ErrorSeverity.error, errorInfo);
  }
  LOG.trace("Operation {} successful", EditConfigXmlParser.EDIT_CONFIG);
  return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.<String>absent());
}

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

@Override
  protected Element handleWithNoSubsequentOperations(Document document, XmlElement xml) throws DocumentedException {
    fromXml(xml);
    try {
      getConfigSubsystemFacade().abortConfiguration();
    } catch (final RuntimeException e) {
      LOG.warn("Abort failed: ", e);
      final Map<String, String> errorInfo = new HashMap<>();
      errorInfo
          .put(ErrorTag.operation_failed.name(),
              "Abort failed.");
      throw new DocumentedException(e.getMessage(), e, ErrorType.application, ErrorTag.operation_failed,
          ErrorSeverity.error, errorInfo);
    }
    LOG.trace("Changes discarded successfully from datastore {}", Datastore.candidate);

    return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.<String>absent());
  }
}

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

@Override
  protected Element handleWithNoSubsequentOperations(Document document, XmlElement xml) throws DocumentedException {
    checkXml(xml);
    try {
      getConfigSubsystemFacade().validateConfiguration();
    } catch (ValidationException e) {
      LOG.warn("Validation failed", e);
      throw DocumentedException.wrap(e);
    } catch (IllegalStateException e) {
      LOG.warn("Validation failed", e);
      final Map<String, String> errorInfo = new HashMap<>();
      errorInfo
          .put(ErrorTag.operation_failed.name(),
              "Datastore is not present. Use 'get-config' or 'edit-config' before triggering 'operations' operation");
      throw new DocumentedException(e.getMessage(), e, ErrorType.application, ErrorTag.operation_failed,
          ErrorSeverity.error, errorInfo);

    }

    LOG.trace("Datastore {} validated successfully", Datastore.candidate);

    return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.<String>absent());
  }
}

代码示例来源: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/mdsal-netconf-connector

return XmlUtil.createElement(document, XmlNetconfConstants.DATA_KEY, Optional.<String>absent());
  return XmlUtil.createElement(document, XmlNetconfConstants.DATA_KEY, Optional.<String>absent());

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

private AnyXmlNode encapsulate(final DOMNotification body) {
  // FIXME: Introduce something like YangModeledAnyXmlNode in Yangtools
  final Document doc = XmlUtil.newDocument();
  final Optional<String> namespace = Optional.of(PAYLOAD_ARG.getNodeType().getNamespace().toString());
  final Element element = XmlUtil.createElement(doc, "payload", namespace);
  final DOMResult result = new DOMResult(element);
  final SchemaContext context = mount.getSchemaContext();
  final SchemaPath schemaPath = body.getType();
  try {
    NetconfUtil.writeNormalizedNode(body.getBody(), result, schemaPath, context);
    return Builders.anyXmlBuilder().withNodeIdentifier(PAYLOAD_ARG).withValue(new DOMSource(element)).build();
  } catch (IOException | XMLStreamException e) {
    LOG.error("Unable to encapsulate notification.", e);
    throw Throwables.propagate(e);
  }
}

代码示例来源:origin: org.opendaylight.controller/blueprint

Element dataElement = XmlUtil.createElement(document, XmlMappingConstants.DATA_KEY, Optional.<String>absent());
Element modulesElement = XmlUtil.createElement(document, XmlMappingConstants.MODULES_KEY,
    Optional.of(XmlMappingConstants.URN_OPENDAYLIGHT_PARAMS_XML_NS_YANG_CONTROLLER_CONFIG));
dataElement.appendChild(modulesElement);

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

@Override
protected Element handleWithNoSubsequentOperations(final Document document, final XmlElement operationElement) throws DocumentedException {
  final Datastore targetDatastore = extractTargetParameter(operationElement);
  if (targetDatastore == Datastore.running) {
    throw new DocumentedException("edit-config on running datastore is not supported",
        ErrorType.protocol,
        ErrorTag.operation_not_supported,
        ErrorSeverity.error);
  }
  final ModifyAction defaultAction = getDefaultOperation(operationElement);
  final XmlElement configElement = getElement(operationElement, CONFIG_KEY);
  for (XmlElement element : configElement.getChildElements()) {
    final String ns = element.getNamespace();
    final DataSchemaNode schemaNode = getSchemaNodeFromNamespace(ns, element).get();
    final DataTreeChangeTracker changeTracker = new DataTreeChangeTracker(defaultAction);
    final DomToNormalizedNodeParserFactory.BuildingStrategyProvider editOperationStrategyProvider = new EditOperationStrategyProvider(changeTracker);
    parseIntoNormalizedNode(schemaNode, element, editOperationStrategyProvider);
    executeOperations(changeTracker);
  }
  return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.<String>absent());
}

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

@Override
protected Element handleWithNoSubsequentOperations(Document document, XmlElement xml) throws DocumentedException {
  // TODO check for namespaces and unknown elements
  final RpcFacade.OperationExecution execution = getConfigSubsystemFacade().getRpcFacade().fromXml(xml);
  LOG.debug("Invoking operation {} on {} with arguments {}", execution.getOperationName(), execution.getOn(),
      execution.getAttributes());
  final Object result = getConfigSubsystemFacade().getRpcFacade().executeOperation(execution);
  LOG.trace("Operation {} called successfully on {} with arguments {} with result {}", execution.getOperationName(),
      execution.getOn(), execution.getAttributes(), result);
  if (execution.isVoid()) {
    return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.<String>absent());
  } else {
    return getConfigSubsystemFacade().getRpcFacade().toXml(document, result, execution);
  }
}

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

final DOMRpcResult result = rpcFuture.checkedGet();
if (result.getResult() == null) {
  return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.of(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0));

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