Search in sources :

Example 11 with OMNode

use of org.apache.axiom.om.OMNode in project webservices-axiom by apache.

the class TestBuild method runTest.

@Override
protected void runTest() throws Throwable {
    InstrumentedInputStream in = new InstrumentedInputStream(XMLSample.LARGE.getInputStream());
    OMDocument doc = OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(), in).getDocument();
    assertFalse(doc.isComplete());
    long countBeforeBuild = in.getCount();
    doc.build();
    assertTrue(doc.isComplete());
    long countAfterBuild = in.getCount();
    assertTrue(countAfterBuild > countBeforeBuild);
    OMNode node = doc.getFirstOMChild();
    while (node != null) {
        node = node.getNextOMSibling();
    }
    assertEquals(countAfterBuild, in.getCount());
}
Also used : OMNode(org.apache.axiom.om.OMNode) InstrumentedInputStream(org.apache.axiom.testutils.io.InstrumentedInputStream) OMDocument(org.apache.axiom.om.OMDocument)

Example 12 with OMNode

use of org.apache.axiom.om.OMNode in project webservices-axiom by apache.

the class TestCreateStAXOMBuilderFromFragment method runTest.

@Override
protected void runTest() throws Throwable {
    XMLStreamReader reader = StAXUtils.createXMLStreamReader(new StringReader("<a><b>text</b></a>"));
    // Position the reader on the event for <b>
    while (reader.getEventType() != XMLStreamReader.START_ELEMENT || !reader.getLocalName().equals("b")) {
        reader.next();
    }
    // Check that the builder only builds the part of the document corresponding to <b>text</b>
    OMElement element = OMXMLBuilderFactory.createStAXOMBuilder(metaFactory.getOMFactory(), reader).getDocumentElement();
    assertEquals("b", element.getLocalName());
    OMNode child = element.getFirstOMChild();
    assertTrue(child instanceof OMText);
    assertNull(element.getNextOMSibling());
    // Check that the original reader is now positioned on the event just following </b>
    assertEquals(XMLStreamReader.END_ELEMENT, reader.getEventType());
    assertEquals("a", reader.getLocalName());
}
Also used : OMNode(org.apache.axiom.om.OMNode) XMLStreamReader(javax.xml.stream.XMLStreamReader) StringReader(java.io.StringReader) OMText(org.apache.axiom.om.OMText) OMElement(org.apache.axiom.om.OMElement)

Example 13 with OMNode

use of org.apache.axiom.om.OMNode in project webservices-axiom by apache.

the class TestInsertSiblingBeforeFromForeignDocument method runTest.

@Override
protected void runTest() throws Throwable {
    DocumentBuilder db = ((DOMMetaFactory) metaFactory).newDocumentBuilderFactory().newDocumentBuilder();
    Document document1 = db.newDocument();
    Element element1 = document1.createElementNS(null, "element1");
    Text text = document1.createTextNode("test");
    element1.appendChild(text);
    Document document2 = db.newDocument();
    Element element2 = document2.createElementNS(null, "element2");
    ((OMNode) text).insertSiblingBefore((OMElement) element2);
    // Assert that the new child is not a copy, but the original element
    assertSame(element2, element1.getFirstChild());
    // Assert that the owner document of element2 was changed
    assertSame(document1, element2.getOwnerDocument());
}
Also used : OMNode(org.apache.axiom.om.OMNode) DocumentBuilder(javax.xml.parsers.DocumentBuilder) OMElement(org.apache.axiom.om.OMElement) Element(org.w3c.dom.Element) Text(org.w3c.dom.Text) Document(org.w3c.dom.Document)

Example 14 with OMNode

use of org.apache.axiom.om.OMNode in project webservices-axiom by apache.

the class TestGetElementTextFromParser method runTest.

@Override
protected void runTest() throws Throwable {
    // Note: We test getElementText on a child element ("b") of the element from which we request
    //       the XMLStreamReader ("a"). This is to make sure that the XMLStreamReader implementation actually
    //       delegates to the underlying parser (which is not necessarily the case on "a").
    OMXMLParserWrapper builder = builderFactory.getBuilder(metaFactory, new InputSource(new StringReader("<a><b>AB<!--comment text-->CD</b></a>")));
    OMElement element = builder.getDocumentElement();
    // Build a certain number of descendants. This is used to test scenarios where the XMLStreamReader
    // needs to switch to pull through mode in the middle of the element from which we attempt to
    // get the text.
    Iterator<OMNode> it = element.getDescendants(true);
    for (int i = 0; i < build; i++) {
        it.next();
    }
    XMLStreamReader reader = element.getXMLStreamReader(cache);
    assertEquals(XMLStreamReader.START_ELEMENT, reader.next());
    assertEquals(XMLStreamReader.START_ELEMENT, reader.next());
    assertEquals("ABCD", reader.getElementText());
}
Also used : OMNode(org.apache.axiom.om.OMNode) InputSource(org.xml.sax.InputSource) XMLStreamReader(javax.xml.stream.XMLStreamReader) StringReader(java.io.StringReader) OMElement(org.apache.axiom.om.OMElement) OMXMLParserWrapper(org.apache.axiom.om.OMXMLParserWrapper)

Example 15 with OMNode

use of org.apache.axiom.om.OMNode in project webservices-axiom by apache.

the class TestSetText method runTest.

@Override
protected void runTest() throws Throwable {
    OMElement element = metaFactory.getOMFactory().createOMElement("test", null);
    String text = "The quick brown fox jumps over the lazy dog";
    element.setText(text);
    // Check that OMElement#getText() returns a matching value
    assertEquals("Text value mismatch", text, element.getText());
    // Check that OMElement#setText() has created the expected nodes
    OMNode child = element.getFirstOMChild();
    assertTrue(child instanceof OMText);
    assertSame(element, child.getParent());
    assertEquals(text, ((OMText) child).getText());
    assertNull(child.getNextOMSibling());
}
Also used : OMNode(org.apache.axiom.om.OMNode) OMText(org.apache.axiom.om.OMText) OMElement(org.apache.axiom.om.OMElement)

Aggregations

OMNode (org.apache.axiom.om.OMNode)69 OMElement (org.apache.axiom.om.OMElement)42 StringReader (java.io.StringReader)16 OMFactory (org.apache.axiom.om.OMFactory)14 SOAPEnvelope (org.apache.axiom.soap.SOAPEnvelope)11 OMText (org.apache.axiom.om.OMText)10 OMDocument (org.apache.axiom.om.OMDocument)9 OMSourcedElement (org.apache.axiom.om.OMSourcedElement)7 XMLStreamReader (javax.xml.stream.XMLStreamReader)6 OMComment (org.apache.axiom.om.OMComment)6 OMXMLParserWrapper (org.apache.axiom.om.OMXMLParserWrapper)6 QName (javax.xml.namespace.QName)5 SOAPHeader (org.apache.axiom.soap.SOAPHeader)5 OMAttribute (org.apache.axiom.om.OMAttribute)4 OMNamespace (org.apache.axiom.om.OMNamespace)4 SOAPBody (org.apache.axiom.soap.SOAPBody)4 SOAPHeaderBlock (org.apache.axiom.soap.SOAPHeaderBlock)4 OMProcessingInstruction (org.apache.axiom.om.OMProcessingInstruction)3 SOAPFault (org.apache.axiom.soap.SOAPFault)3 SOAPFaultCode (org.apache.axiom.soap.SOAPFaultCode)3