本文整理了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
暂无
代码示例来源: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>
* <type
* xmlns:th-java="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">th-java:threadfactory-naming</type>
* </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);
}
内容来源于网络,如有侵权,请联系作者删除!