Search in sources :

Example 26 with PullOMDataSource

use of org.apache.axiom.ts.om.sourcedelement.util.PullOMDataSource in project webservices-axiom by apache.

the class TestName4Unqualified 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://DUMMYNS", "");
    OMElement element = f.createOMElement(new PullOMDataSource(TestDocument.DOCUMENT3.getContent()), "DUMMYNAME", 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("DUMMYNAME"));
    assertTrue(element.getNamespace().getNamespaceURI().equals("http://DUMMYNS"));
    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("DUMMYNAME"));
    assertTrue(element.getNamespace().getNamespaceURI().equals("http://DUMMYNS"));
    assertTrue(element.getNamespace().getPrefix().equals(""));
    assertTrue(result.indexOf("DUMMY") < // Make sure that the serialized string does not contain the DUMMY values
    0);
    assertTrue(result.indexOf("xmlns=") < // Make sure that the serialized string does not contain the 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)

Example 27 with PullOMDataSource

use of org.apache.axiom.ts.om.sourcedelement.util.PullOMDataSource in project webservices-axiom by apache.

the class TestSetDataSourceOnAlreadyExpandedElement method runTest.

@Override
protected void runTest() throws Throwable {
    OMSourcedElement element = TestDocument.DOCUMENT1.createOMSourcedElement(metaFactory.getOMFactory(), false, true);
    // Make sure the OMSourcedElement is expanded
    element.getFirstOMChild();
    assertTrue(element.isExpanded());
    // Now set a new data source
    element.setDataSource(new PullOMDataSource(TestDocument.DOCUMENT2.getContent()));
    assertFalse(element.isExpanded());
    // getNextOMSibling should not expand the element
    assertNull(element.getNextOMSibling());
    assertFalse(element.isExpanded());
}
Also used : PullOMDataSource(org.apache.axiom.ts.om.sourcedelement.util.PullOMDataSource) OMSourcedElement(org.apache.axiom.om.OMSourcedElement)

Example 28 with PullOMDataSource

use of org.apache.axiom.ts.om.sourcedelement.util.PullOMDataSource in project webservices-axiom by apache.

the class TestName1Unqualified 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("", "");
    OMElement element = f.createOMElement(new PullOMDataSource(TestDocument.DOCUMENT3.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"));
    assertNull(element.getNamespace());
    // Serialize and cache.  This should cause expansion and update the name to match the testDocument string
    StringWriter writer = new StringWriter();
    root.serialize(writer);
    String result = writer.toString();
    assertTrue(element.getLocalName().equals("library"));
    assertNull(element.getNamespace());
    assertNull(element.getDefaultNamespace());
    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);
    // Serialize again
    writer = new StringWriter();
    root.serialize(writer);
    result = writer.toString();
    assertTrue(element.getLocalName().equals("library"));
    assertNull(element.getNamespace());
    assertTrue(result.indexOf("xmlns=") < // Make sure that the serialized string does not contain default prefix declaration
    0);
    assertTrue(element.getDefaultNamespace() == null || element.getDefaultNamespace().getNamespaceURI().length() == 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)

Example 29 with PullOMDataSource

use of org.apache.axiom.ts.om.sourcedelement.util.PullOMDataSource in project webservices-axiom by apache.

the class TestName2Unqualified 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("", "");
    OMElement element = f.createOMElement(new PullOMDataSource(TestDocument.DOCUMENT3.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"));
    assertNull(element.getNamespace());
    // 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"));
    assertNull(element.getNamespace());
    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

PullOMDataSource (org.apache.axiom.ts.om.sourcedelement.util.PullOMDataSource)29 OMFactory (org.apache.axiom.om.OMFactory)26 OMElement (org.apache.axiom.om.OMElement)18 OMNamespace (org.apache.axiom.om.OMNamespace)16 OMSourcedElement (org.apache.axiom.om.OMSourcedElement)14 StringWriter (java.io.StringWriter)13 QName (javax.xml.namespace.QName)4 OMAttribute (org.apache.axiom.om.OMAttribute)3 OMDataSource (org.apache.axiom.om.OMDataSource)3 StringReader (java.io.StringReader)2 XMLStreamReader (javax.xml.stream.XMLStreamReader)2 OMNode (org.apache.axiom.om.OMNode)2 AbstractPullOMDataSource (org.apache.axiom.om.ds.AbstractPullOMDataSource)2 OMContainer (org.apache.axiom.om.OMContainer)1 AbstractPushOMDataSource (org.apache.axiom.om.ds.AbstractPushOMDataSource)1 XML (org.apache.axiom.ts.dimension.serialization.XML)1 PushOMDataSource (org.apache.axiom.ts.om.sourcedelement.util.PushOMDataSource)1 InputSource (org.xml.sax.InputSource)1