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

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

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

XmlElement.getTextContent介绍

暂无

代码示例

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

protected String readElementContent(XmlElement xmlElement) throws NetconfDocumentedException {
  return xmlElement.getTextContent();
}

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

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

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

public static String checkPrefixAndExtractServiceName(XmlElement typeElement, Map.Entry<String, String> prefixNamespace) throws NetconfDocumentedException {
  String serviceName = typeElement.getTextContent();
  Preconditions.checkNotNull(prefixNamespace.getKey(), "Service %s value cannot be linked to namespace",
      XmlNetconfConstants.TYPE_KEY);
  if(prefixNamespace.getKey().isEmpty()) {
    return serviceName;
  } else {
    String prefix = prefixNamespace.getKey() + PREFIX_SEPARATOR;
    Preconditions.checkState(serviceName.startsWith(prefix),
        "Service %s not correctly prefixed, expected %s, but was %s", XmlNetconfConstants.TYPE_KEY, prefix,
        serviceName);
    serviceName = serviceName.substring(prefix.length());
    return serviceName;
  }
}

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

private static StreamNameType parseStreamIfPresent(final XmlElement operationElement) throws NetconfDocumentedException {
  final Optional<XmlElement> stream = operationElement.getOnlyChildElementWithSameNamespaceOptionally("stream");
  return stream.isPresent() ? new StreamNameType(stream.get().getTextContent()) : NetconfNotificationManager.BASE_STREAM_NAME;
}

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

private static boolean prefixedContentMatches(final XmlElement filter, final XmlElement src) throws NetconfDocumentedException {
  final Map.Entry<String, String> prefixToNamespaceOfFilter;
  final Map.Entry<String, String> prefixToNamespaceOfSrc;
  try {
    prefixToNamespaceOfFilter = filter.findNamespaceOfTextContent();
    prefixToNamespaceOfSrc = src.findNamespaceOfTextContent();
  } catch (IllegalArgumentException e) {
    //if we can't find namespace of prefix - it's not a prefix, so it doesn't match
    return false;
  }
  final String prefix = prefixToNamespaceOfFilter.getKey();
  // If this is not a prefixed content, we do not need to continue since content do not match
  if (prefix.equals(XmlElement.DEFAULT_NAMESPACE_PREFIX)) {
    return false;
  }
  // Namespace mismatch
  if (!prefixToNamespaceOfFilter.getValue().equals(prefixToNamespaceOfSrc.getValue())) {
    return false;
  }
  final String unprefixedFilterContent = filter.getTextContent().substring(prefixToNamespaceOfFilter.getKey().length() + 1);
  final String unprefixedSrcContnet = src.getTextContent().substring(prefixToNamespaceOfSrc.getKey().length() + 1);
  // Finally compare unprefixed content
  return unprefixedFilterContent.equals(unprefixedSrcContnet);
}

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

/**
 * Search for element's attributes defining namespaces. Look for the one
 * namespace that matches prefix of element's text content. E.g.
 *
 * <pre>
 * &lt;type
 * xmlns:th-java="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl"&gt;th-java:threadfactory-naming&lt;/type&gt;
 * </pre>
 *
 * returns {"th-java","urn:.."}. If no prefix is matched, then default
 * namespace is returned with empty string as key. If no default namespace
 * is found value will be null.
 */
public Map.Entry<String/* prefix */, String/* namespace */> findNamespaceOfTextContent() throws NetconfDocumentedException {
  Map<String, String> namespaces = extractNamespaces();
  String textContent = getTextContent();
  int indexOfColon = textContent.indexOf(':');
  String prefix;
  if (indexOfColon > -1) {
    prefix = textContent.substring(0, indexOfColon);
  } else {
    prefix = DEFAULT_NAMESPACE_PREFIX;
  }
  if (!namespaces.containsKey(prefix)) {
    throw new IllegalArgumentException("Cannot find namespace for " + XmlUtil.toString(element) + ". Prefix from content is "
        + prefix + ". Found namespaces " + namespaces);
  }
  return Maps.immutableEntry(prefix, namespaces.get(prefix));
}

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

@Override
protected String readElementContent(XmlElement xmlElement) throws NetconfDocumentedException {
  Map.Entry<String, String> namespaceOfTextContent = xmlElement.findNamespaceOfTextContent();
  String content = xmlElement.getTextContent();
  final String namespace;
  final String localName;
  if(namespaceOfTextContent.getKey().isEmpty()) {
    localName = content;
    namespace = xmlElement.getNamespace();
  } else {
    String prefix = namespaceOfTextContent.getKey() + ":";
    Preconditions.checkArgument(content.startsWith(prefix), "Identity ref should be prefixed with \"%s\"", prefix);
    localName = content.substring(prefix.length());
    namespace = namespaceOfTextContent.getValue();
  }
  Date revision = null;
  Map<Date, EditConfig.IdentityMapping> revisions = identityMap.get(namespace);
  if(revisions.keySet().size() > 1) {
    for (Map.Entry<Date, EditConfig.IdentityMapping> revisionToIdentityEntry : revisions.entrySet()) {
      if(revisionToIdentityEntry.getValue().containsIdName(localName)) {
        Preconditions.checkState(revision == null, "Duplicate identity %s, in namespace %s, with revisions: %s, %s detected. Cannot map attribute",
            localName, namespace, revision, revisionToIdentityEntry.getKey());
        revision = revisionToIdentityEntry.getKey();
      }
    }
  } else {
    revision = revisions.keySet().iterator().next();
  }
  return QName.create(URI.create(namespace), revision, localName).toString();
}

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

private static Map.Entry<Date, XmlElement> stripNotification(final NetconfMessage message) {
  final XmlElement xmlElement = XmlElement.fromDomDocument(message.getDocument());
  final List<XmlElement> childElements = xmlElement.getChildElements();
  Preconditions.checkArgument(childElements.size() == 2, "Unable to parse notification %s, unexpected format", message);
  final XmlElement eventTimeElement;
  final XmlElement notificationElement;
  if (childElements.get(0).getName().equals(EVENT_TIME)) {
    eventTimeElement = childElements.get(0);
    notificationElement = childElements.get(1);
  }
  else if(childElements.get(1).getName().equals(EVENT_TIME)) {
    eventTimeElement = childElements.get(1);
    notificationElement = childElements.get(0);
  } else {
    throw new IllegalArgumentException("Notification payload does not contain " + EVENT_TIME + " " + message);
  }
  try {
    return new AbstractMap.SimpleEntry<>(EVENT_TIME_FORMAT.get().parse(eventTimeElement.getTextContent()), notificationElement);
  } catch (NetconfDocumentedException e) {
    throw new IllegalArgumentException("Notification payload does not contain " + EVENT_TIME + " " + message);
  } catch (ParseException e) {
    LOG.warn("Unable to parse event time from {}. Setting time to {}", eventTimeElement, NetconfNotification.UNKNOWN_EVENT_TIME, e);
    return new AbstractMap.SimpleEntry<>(NetconfNotification.UNKNOWN_EVENT_TIME, notificationElement);
  }
}

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

private <T> void resolveModule(Map<String, Multimap<String, T>> retVal, ServiceRegistryWrapper serviceTracker,
    XmlElement moduleElement, EditStrategyType defaultStrategy, ResolvingStrategy<T> resolvingStrategy) throws NetconfDocumentedException {
  XmlElement typeElement = null;
  typeElement = moduleElement.getOnlyChildElementWithSameNamespace(XmlNetconfConstants.TYPE_KEY);
  Entry<String, String> prefixToNamespace = typeElement.findNamespaceOfTextContent();
  String moduleNamespace = prefixToNamespace.getValue();
  XmlElement nameElement = null;
  nameElement = moduleElement.getOnlyChildElementWithSameNamespace(XmlNetconfConstants.NAME_KEY);
  String instanceName = nameElement.getTextContent();
  String factoryNameWithPrefix = typeElement.getTextContent();
  String prefixOrEmptyString = prefixToNamespace.getKey();
  String factoryName = getFactoryName(factoryNameWithPrefix, prefixOrEmptyString);
  ModuleConfig moduleMapping = getModuleMapping(moduleNamespace, instanceName, factoryName);
  Multimap<String, T> innerMap = retVal.get(moduleNamespace);
  if (innerMap == null) {
    innerMap = HashMultimap.create();
    retVal.put(moduleNamespace, innerMap);
  }
  T resolvedElement = resolvingStrategy.resolveElement(moduleMapping, moduleElement, serviceTracker,
      instanceName, moduleNamespace, defaultStrategy);
  innerMap.put(factoryName, resolvedElement);
}

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

private ObjectNameAttributeMappingStrategy.MappedDependency resolve(XmlElement firstChild) throws NetconfDocumentedException{
  XmlElement typeElement = firstChild.getOnlyChildElementWithSameNamespace(XmlNetconfConstants.TYPE_KEY);
  Map.Entry<String, String> prefixNamespace = typeElement.findNamespaceOfTextContent();
  String serviceName = checkPrefixAndExtractServiceName(typeElement, prefixNamespace);
  XmlElement nameElement = firstChild.getOnlyChildElementWithSameNamespace(XmlNetconfConstants.NAME_KEY);
  String dependencyName = nameElement.getTextContent();
  return new ObjectNameAttributeMappingStrategy.MappedDependency(prefixNamespace.getValue(), serviceName,
      dependencyName);
}

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

String refName = nameElement.getTextContent();
  String providerName = providerElement.getTextContent();

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

int expectedChildNodes = 1 + typeAndNameElements.size();
  if (size > expectedChildNodes) {
    throw new NetconfDocumentedException("Error reading module " + typeElement.getTextContent() + " : " +
        nameElement.getTextContent() + " - Expected " + expectedChildNodes +" child nodes, " +
        "one of them with name " + nullableDummyContainerName +
        ", got " + size + " elements.");
      moduleElement = moduleElement.getOnlyChildElement(nullableDummyContainerName, moduleNamespace);
    } catch (NetconfDocumentedException e) {
      throw new NetconfDocumentedException("Error reading module " + typeElement.getTextContent() + " : " +
          nameElement.getTextContent() + " - Expected child node with name " + nullableDummyContainerName +
          "." + e.getMessage());
  moduleElement.checkUnrecognisedElements(recognisedChildren);
} catch (NetconfDocumentedException e) {
  throw new NetconfDocumentedException("Error reading module " + typeElement.getTextContent() + " : " +
      nameElement.getTextContent() + " - " +
      e.getMessage(), e.getErrorType(), e.getErrorTag(),e.getErrorSeverity(),e.getErrorInfo());

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

.getOnlyChildElementWithSameNamespaceOptionally(EditConfigXmlParser.TEST_OPTION_KEY);
if (testOptionElementOpt.isPresent()) {
  String testOptionValue = testOptionElementOpt.get().getTextContent();
  testOption = EditConfigXmlParser.TestOption.getFromXmlName(testOptionValue);
} else {
    .getOnlyChildElementWithSameNamespaceOptionally(EditConfigXmlParser.ERROR_OPTION_KEY);
if (errorOptionElement.isPresent()) {
  String errorOptionParsed = errorOptionElement.get().getTextContent();
  if (!errorOptionParsed.equals(EditConfigXmlParser.DEFAULT_ERROR_OPTION)){
    throw new UnsupportedOperationException("Only " + EditConfigXmlParser.DEFAULT_ERROR_OPTION
    .getOnlyChildElementWithSameNamespaceOptionally(EditConfigXmlParser.DEFAULT_OPERATION_KEY);
if (defaultContent.isPresent()) {
  String mergeStrategyString = defaultContent.get().getTextContent();
  LOG.trace("Setting merge strategy to {}", mergeStrategyString);
  editStrategyType = EditStrategyType.valueOf(mergeStrategyString);

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

.getTextContent(), netconfOperationName, netconfOperationNamespace);

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

public NetconfOperationExecution fromXml(final XmlElement xml) throws NetconfDocumentedException {
  final String namespace;
  try {
    namespace = xml.getNamespace();
  } catch (MissingNameSpaceException e) {
    LOG.trace("Can't get namespace from xml element due to ",e);
    throw NetconfDocumentedException.wrap(e);
  }
  final XmlElement contextInstanceElement = xml.getOnlyChildElement(CONTEXT_INSTANCE);
  final String operationName = xml.getName();
  final RuntimeRpcElementResolved id = RuntimeRpcElementResolved.fromXpath(
      contextInstanceElement.getTextContent(), operationName, namespace);
  final Rpcs rpcs = mapRpcs(yangStoreSnapshot.getModuleMXBeanEntryMap(), yangStoreSnapshot.getEnumResolver());
  final ModuleRpcs rpcMapping = rpcs.getRpcMapping(id);
  final InstanceRuntimeRpc instanceRuntimeRpc = rpcMapping.getRpc(id.getRuntimeBeanName(), operationName);
  // TODO move to Rpcs after xpath attribute is redesigned
  final ObjectName on = id.getObjectName(rpcMapping);
  Map<String, AttributeConfigElement> attributes = instanceRuntimeRpc.fromXml(xml);
  attributes = sortAttributes(attributes, xml);
  return new NetconfOperationExecution(on, instanceRuntimeRpc.getName(), attributes,
      instanceRuntimeRpc.getReturnType(), namespace);
}

相关文章