use of javax.xml.stream.events.EndElement in project Payara by payara.
the class DomainXmlTransformer method getAddedEventBeforeEndElement.
/**
* Write a new element with the specified name and attribute before the end element is written out
* @return the end element
*/
private XMLEvent getAddedEventBeforeEndElement(XMLEvent event, XMLEventWriter writer, String elementName, String attributeName, String attributeValue) throws XMLStreamException {
Attribute newAttribute = xmlEventFactory.createAttribute(attributeName, attributeValue);
Set attributes = new HashSet();
attributes.add(newAttribute);
EndElement oldEvent = event.asEndElement();
StartElement newStartEvent = xmlEventFactory.createStartElement(new QName(elementName), attributes.iterator(), oldEvent.getNamespaces());
writer.add(newStartEvent);
return xmlEventFactory.createEndElement(newStartEvent.getName(), newStartEvent.getNamespaces());
}
use of javax.xml.stream.events.EndElement in project wso2-synapse by wso2.
the class SimpleXMLEventAllocatorTest method testStartEndElement.
@Test
public void testStartEndElement() throws XMLStreamException {
XMLStreamReader reader = createXmlStreamReader("<alice/>");
StartElement startElement = eventAllocator.allocate(reader).asStartElement();
verify(startElement, XMLStreamConstants.START_ELEMENT, "<alice>");
Assert.assertEquals(new QName("alice"), startElement.getName());
Assert.assertNotNull(startElement.getNamespaceContext());
Assert.assertFalse(startElement.getAttributes().hasNext());
Assert.assertFalse(startElement.getNamespaces().hasNext());
Assert.assertNull(startElement.getNamespaceURI("foo"));
reader.next();
EndElement endElement = eventAllocator.allocate(reader).asEndElement();
verify(endElement, XMLStreamConstants.END_ELEMENT, "</alice>");
Assert.assertEquals(new QName("alice"), endElement.getName());
Assert.assertFalse(endElement.getNamespaces().hasNext());
}
use of javax.xml.stream.events.EndElement in project wso2-synapse by wso2.
the class SimpleXMLEventFactoryTest method testCreateEndElement_Name_Namespaces.
@Test
public void testCreateEndElement_Name_Namespaces() throws XMLStreamException {
Namespace namespace = factory.createNamespace("foo", "http://foo");
EndElement event = factory.createEndElement(new QName("http://foo", "bar", "foo"), Arrays.asList(namespace).iterator());
verify(event, XMLStreamConstants.END_ELEMENT, "</foo:bar>");
Assert.assertEquals(namespace, event.getNamespaces().next());
}
use of javax.xml.stream.events.EndElement in project wso2-synapse by wso2.
the class SimpleXMLEventFactoryTest method testCreateEndElement_Prefix_NamespaceURI_LocalName_Namespaces.
@Test
public void testCreateEndElement_Prefix_NamespaceURI_LocalName_Namespaces() throws XMLStreamException {
Namespace namespace = factory.createNamespace("foo", "http://foo");
EndElement event = factory.createEndElement("foo", "http://foo", "bar", Arrays.asList(namespace).iterator());
verify(event, XMLStreamConstants.END_ELEMENT, "</foo:bar>");
Assert.assertEquals(namespace, event.getNamespaces().next());
}
use of javax.xml.stream.events.EndElement in project tomee by apache.
the class StaxCompare method compare.
public static boolean compare(final XMLEventReader a, final XMLEventReader b, final StringBuilder message) {
XMLEvent eventA;
XMLEvent eventB;
int eventType;
try {
while ((eventA = nextInterestingEvent(a)) != null & (eventB = nextInterestingEvent(b)) != null) {
if ((eventType = eventA.getEventType()) != eventB.getEventType()) {
message.append("events of different types: ").append(eventA).append(", ").append(eventB);
return false;
}
if (eventType == XMLStreamConstants.START_ELEMENT) {
final StartElement startA = eventA.asStartElement();
final StartElement startB = eventB.asStartElement();
if (!startA.getName().getLocalPart().equals(startB.getName().getLocalPart())) {
message.append("Different elements ").append(startA.getName()).append(", ").append(startB.getName()).append(" at location ").append(eventA.getLocation());
return false;
}
} else if (eventType == XMLStreamConstants.END_ELEMENT) {
final EndElement endA = eventA.asEndElement();
final EndElement endB = eventB.asEndElement();
if (!endA.getName().getLocalPart().equals(endB.getName().getLocalPart())) {
message.append("Different elements ").append(endA.getName()).append(", ").append(endB.getName()).append(" at location ").append(eventA.getLocation());
return false;
}
} else if (eventType == XMLStreamConstants.CHARACTERS) {
final Characters endA = eventA.asCharacters();
final Characters endB = eventB.asCharacters();
if (!endA.getData().equals(endB.getData())) {
message.append("Different content ").append(endA.getData()).append(", ").append(endB.getData()).append(" at location ").append(eventA.getLocation());
return false;
}
}
}
if (eventA != null) {
message.append("A is longer: ").append(eventA.getLocation());
return false;
}
if (eventB != null) {
message.append("B is longer: ").append(eventB.getLocation());
return false;
}
} catch (final XMLStreamException e) {
message.append("Exception processing ").append(e.getMessage());
return false;
}
return true;
}
Aggregations