Search in sources :

Example 96 with OMFactory

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

the class TestInsertSiblingAfter method runTest.

@Override
protected void runTest() throws Throwable {
    OMFactory fac = metaFactory.getOMFactory();
    OMElement parent = fac.createOMElement("test", null);
    OMText text1 = fac.createOMText("text1");
    OMText text2 = fac.createOMText("text2");
    parent.addChild(text1);
    text1.insertSiblingAfter(text2);
    assertSame(parent, text2.getParent());
}
Also used : OMFactory(org.apache.axiom.om.OMFactory) OMText(org.apache.axiom.om.OMText) OMElement(org.apache.axiom.om.OMElement)

Example 97 with OMFactory

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

the class TestInsertSiblingAfterLastChild method runTest.

@Override
protected void runTest() throws Throwable {
    OMFactory fac = metaFactory.getOMFactory();
    OMNamespace ns = fac.createOMNamespace("http://www.testuri.com", "ns");
    OMElement parent = fac.createOMElement("parent", ns);
    // Create three OMElements
    OMElement c1 = fac.createOMElement("c1", ns);
    OMElement c2 = fac.createOMElement("c2", ns);
    OMElement c3 = fac.createOMElement("c3", ns);
    // Add c1 to parent using parent.addChild()
    parent.addChild(c1);
    // Add c2 to c1 as a sibling after
    c1.insertSiblingAfter(c2);
    // Now add c3 to parent using parent.addChild()
    parent.addChild(c3);
    assertAbout(xml()).that(xml(OMElement.class, parent)).ignoringRedundantNamespaceDeclarations().hasSameContentAs("<ns:parent xmlns:ns=\"http://www.testuri.com\">" + "<ns:c1 /><ns:c2 /><ns:c3 /></ns:parent>");
}
Also used : OMFactory(org.apache.axiom.om.OMFactory) OMNamespace(org.apache.axiom.om.OMNamespace) OMElement(org.apache.axiom.om.OMElement)

Example 98 with OMFactory

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

the class TestComplete method runTest.

@Override
protected void runTest() throws Throwable {
    // Build a root element and child OMSE
    OMFactory f = metaFactory.getOMFactory();
    OMNamespace ns = f.createOMNamespace("http://www.sosnoski.com/uwjws/library", "");
    OMNamespace rootNS = f.createOMNamespace("http://sampleroot", "rootPrefix");
    OMElement child = f.createOMElement(new PullOMDataSource(TestDocument.DOCUMENT1.getContent()), "library", ns);
    OMElement root = f.createOMElement("root", rootNS);
    // Trigger expansion of the child OMSE
    // This will cause the child to be partially parsed (i.e. incomplete)
    child.getFirstOMChild();
    // Add the child OMSE to the root.
    root.addChild(child);
    // Normally adding an incomplete child to a parent will 
    // cause the parent to be marked as incomplete.
    // But OMSE's are self-contained...therefore the root
    // should still be complete
    assertTrue(!child.isComplete());
    assertTrue(root.isComplete());
    // Now repeat the test, but this time trigger the 
    // partial parsing of the child after adding it to the root.
    child = f.createOMElement(new PullOMDataSource(TestDocument.DOCUMENT1.getContent()), "library", ns);
    root = f.createOMElement("root", rootNS);
    root.addChild(child);
    // causes partial parsing...i.e. incomplete child
    child.getFirstOMChild();
    assertTrue(!child.isComplete());
    assertTrue(root.isComplete());
}
Also used : OMFactory(org.apache.axiom.om.OMFactory) OMNamespace(org.apache.axiom.om.OMNamespace) PullOMDataSource(org.apache.axiom.ts.om.sourcedelement.util.PullOMDataSource) OMElement(org.apache.axiom.om.OMElement)

Example 99 with OMFactory

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

the class TestDiscard method runTest.

@Override
protected void runTest() throws Throwable {
    OMFactory factory = metaFactory.getOMFactory();
    OMElement parent = factory.createOMElement("parent", null);
    OMElement child1 = factory.createOMElement("child1", null, parent);
    PullOMDataSource ds = new PullOMDataSource("<root><a/><b/></root>");
    OMSourcedElement omse = factory.createOMElement(ds, "root", null);
    parent.addChild(omse);
    OMElement child2 = factory.createOMElement("child2", null, parent);
    expansionStrategy.apply(omse);
    omse.discard();
    assertThat(child1.getNextOMSibling()).isSameAs(child2);
    assertThat(ds.hasUnclosedReaders()).isFalse();
    assertThat(ds.getReaderRequestCount()).isEqualTo(expansionStrategy == DONT_EXPAND ? 0 : 1);
}
Also used : OMFactory(org.apache.axiom.om.OMFactory) PullOMDataSource(org.apache.axiom.ts.om.sourcedelement.util.PullOMDataSource) OMElement(org.apache.axiom.om.OMElement) OMSourcedElement(org.apache.axiom.om.OMSourcedElement)

Example 100 with OMFactory

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

the class TestName2QualifiedPrefix method runTest.

@Override
protected void runTest() throws Throwable {
    OMFactory f = metaFactory.getOMFactory();
    // Create OMSE with a DUMMYPREFIX prefix even though the underlying element uses the default prefix
    OMNamespace rootNS = f.createOMNamespace("http://sampleroot", "rootPrefix");
    OMNamespace ns = f.createOMNamespace("http://www.sosnoski.com/uwjws/library", "");
    OMElement element = f.createOMElement(new PullOMDataSource(TestDocument.DOCUMENT2.getContent()), "library", ns);
    OMElement root = f.createOMElement("root", rootNS);
    root.addChild(element);
    // Test getting the namespace, localpart and prefix.  This should used not result in expansion
    assertTrue(element.getLocalName().equals("library"));
    assertTrue(element.getNamespace().getNamespaceURI().equals("http://www.sosnoski.com/uwjws/library"));
    assertTrue(element.getNamespace().getPrefix().equals(""));
    // Serialize and consume.  This should not cause expansion and currently won't update
    // the name of the element.
    StringWriter writer = new StringWriter();
    root.serializeAndConsume(writer);
    String result = writer.toString();
    assertTrue(element.getLocalName().equals("library"));
    assertTrue(element.getNamespace().getNamespaceURI().equals("http://www.sosnoski.com/uwjws/library"));
    assertTrue(element.getNamespace().getPrefix().equals(""));
    assertTrue(result.indexOf("xmlns=") < // Make sure that the serialized string does not contain default prefix declaration
    0);
    assertTrue("Serialized text error" + result, result.indexOf("1930110111") > 0);
}
Also used : OMFactory(org.apache.axiom.om.OMFactory) OMNamespace(org.apache.axiom.om.OMNamespace) PullOMDataSource(org.apache.axiom.ts.om.sourcedelement.util.PullOMDataSource) StringWriter(java.io.StringWriter) OMElement(org.apache.axiom.om.OMElement)

Aggregations

OMFactory (org.apache.axiom.om.OMFactory)254 OMElement (org.apache.axiom.om.OMElement)189 OMNamespace (org.apache.axiom.om.OMNamespace)94 QName (javax.xml.namespace.QName)62 StringReader (java.io.StringReader)37 OMText (org.apache.axiom.om.OMText)35 OMSourcedElement (org.apache.axiom.om.OMSourcedElement)32 OMAttribute (org.apache.axiom.om.OMAttribute)31 PullOMDataSource (org.apache.axiom.ts.om.sourcedelement.util.PullOMDataSource)26 StringWriter (java.io.StringWriter)18 OMDocument (org.apache.axiom.om.OMDocument)18 XMLStreamReader (javax.xml.stream.XMLStreamReader)14 OMNode (org.apache.axiom.om.OMNode)14 DataHandler (javax.activation.DataHandler)12 OMException (org.apache.axiom.om.OMException)12 DataSource (javax.activation.DataSource)11 StringOMDataSource (org.apache.axiom.om.ds.StringOMDataSource)9 RandomDataSource (org.apache.axiom.testutils.activation.RandomDataSource)9 OMXMLParserWrapper (org.apache.axiom.om.OMXMLParserWrapper)8 Element (org.w3c.dom.Element)8