return new SimpleImmutableEntry<>(prefix, namespaces.get(prefix));
}
- public void checkUnrecognisedElements(final List<XmlElement> recognisedElements,
- final XmlElement... additionalRecognisedElements) throws DocumentedException {
- List<XmlElement> childElements = getChildElements();
- childElements.removeAll(recognisedElements);
- for (XmlElement additionalRecognisedElement : additionalRecognisedElements) {
- childElements.remove(additionalRecognisedElement);
- }
- if (!childElements.isEmpty()) {
- throw new DocumentedException(String.format("Unrecognised elements %s in %s", childElements, this),
- ErrorType.APPLICATION, ErrorTag.INVALID_VALUE, ErrorSeverity.ERROR);
- }
- }
-
- public void checkUnrecognisedElements(final XmlElement... additionalRecognisedElements) throws DocumentedException {
- checkUnrecognisedElements(List.of(), additionalRecognisedElements);
- }
-
public boolean hasNamespace() {
return namespaceAttribute() != null || namespace() != null;
}
*/
package org.opendaylight.netconf.api.xml;
-import static org.hamcrest.CoreMatchers.both;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
assertEquals("", namespaceOfTextContent.getKey());
assertEquals("innerNamespace", namespaceOfTextContent.getValue());
}
-
- @Test
- public void testUnrecognisedElements() throws Exception {
- xmlElement.checkUnrecognisedElements(xmlElement.getOnlyChildElement("inner"),
- xmlElement.getOnlyChildElement("innerPrefixed"), xmlElement.getOnlyChildElement("innerNamespace"));
-
- final DocumentedException e = assertThrows(DocumentedException.class,
- () -> xmlElement.checkUnrecognisedElements(xmlElement.getOnlyChildElement("inner")));
- assertThat(e.getMessage(),
- // FIXME: this looks very suspect
- both(containsString("innerNamespace")).and(containsString("innerNamespace")));
- }
}