Search in sources :

Example 31 with BXML

use of org.ballerinalang.model.values.BXML in project ballerina by ballerina-lang.

the class XMLNativeFunctionTest method testCopy.

@Test
public void testCopy() {
    BValue[] returns = BRunUtil.invoke(result, "testCopy");
    Assert.assertEquals(returns.length, 4);
    Assert.assertTrue(returns[0] instanceof BXMLItem);
    Assert.assertEquals(returns[0].stringValue(), "<ns0:name xmlns:ns0=\"http://sample.com/test\"><newFname>" + "supun-new</newFname><newMname>thilina-new</newMname><newLname>setunga-new</newLname></ns0:name>");
    // Check children of the copied xml
    Assert.assertTrue(returns[3] instanceof BXML);
    BRefValueArray children = ((BXMLSequence) ((BXML) returns[0]).children()).value();
    Assert.assertEquals(children.size(), 3);
    Assert.assertEquals(children.get(0).stringValue(), "<newFname>supun-new</newFname>");
    Assert.assertEquals(children.get(1).stringValue(), "<newMname>thilina-new</newMname>");
    Assert.assertEquals(children.get(2).stringValue(), "<newLname>setunga-new</newLname>");
    // is children seq is empty?
    Assert.assertSame(returns[1].getClass(), BBoolean.class);
    Assert.assertEquals(((BBoolean) returns[1]).booleanValue(), false);
    // is children seq is singleton?
    Assert.assertSame(returns[2].getClass(), BBoolean.class);
    Assert.assertEquals(((BBoolean) returns[2]).booleanValue(), true);
    // Check children of the original xml
    Assert.assertTrue(returns[3] instanceof BXML);
    BRefValueArray originalChildren = ((BXMLSequence) returns[3]).value();
    Assert.assertEquals(originalChildren.size(), 2);
    Assert.assertEquals(originalChildren.get(0).stringValue(), "<fname xmlns:ns0=\"http://sample.com/test\">supun</fname>");
    Assert.assertEquals(originalChildren.get(1).stringValue(), "<lname xmlns:ns0=\"http://sample.com/test\">setunga</lname>");
}
Also used : BXMLItem(org.ballerinalang.model.values.BXMLItem) BValue(org.ballerinalang.model.values.BValue) BRefValueArray(org.ballerinalang.model.values.BRefValueArray) BXML(org.ballerinalang.model.values.BXML) BXMLSequence(org.ballerinalang.model.values.BXMLSequence) Test(org.testng.annotations.Test)

Example 32 with BXML

use of org.ballerinalang.model.values.BXML in project ballerina by ballerina-lang.

the class XMLNativeFunctionTest method testSelectDescendantsFromSeq.

@Test
public void testSelectDescendantsFromSeq() {
    BValue[] returns = BRunUtil.invoke(result, "testSelectDescendantsFromSeq");
    Assert.assertTrue(returns[0] instanceof BXML);
    BXMLSequence seq = (BXMLSequence) returns[0];
    Assert.assertEquals(seq.value().size(), 3);
    Assert.assertEquals(seq.stringValue(), "<name xmlns=\"http://ballerinalang.org/\" " + "xmlns:ns0=\"http://ballerinalang.org/aaa\"><name>Supun</name><lname>Setunga</lname></name>" + "<name xmlns=\"http://ballerinalang.org/\" xmlns:ns0=\"http://ballerinalang.org/aaa\">John</name>" + "<name xmlns=\"http://ballerinalang.org/\" xmlns:ns0=\"http://ballerinalang.org/aaa\">Doe</name>");
}
Also used : BValue(org.ballerinalang.model.values.BValue) BXML(org.ballerinalang.model.values.BXML) BXMLSequence(org.ballerinalang.model.values.BXMLSequence) Test(org.testng.annotations.Test)

Example 33 with BXML

use of org.ballerinalang.model.values.BXML in project ballerina by ballerina-lang.

the class XMLNativeFunctionTest method testSelectDescendantsWithEmptyNs.

@Test
public void testSelectDescendantsWithEmptyNs() {
    BValue[] returns = BRunUtil.invoke(result, "testSelectDescendantsWithEmptyNs");
    Assert.assertTrue(returns[0] instanceof BXML);
    BXMLSequence seq = (BXMLSequence) returns[0];
    Assert.assertEquals(seq.value().size(), 2);
    Assert.assertEquals(seq.stringValue(), "<name xmlns:ns0=\"http://ballerinalang.org/aaa\"><name>Supun</name>" + "<lname>Setunga</lname></name><name xmlns:ns0=\"http://ballerinalang.org/aaa\">John</name>");
}
Also used : BValue(org.ballerinalang.model.values.BValue) BXML(org.ballerinalang.model.values.BXML) BXMLSequence(org.ballerinalang.model.values.BXMLSequence) Test(org.testng.annotations.Test)

Example 34 with BXML

use of org.ballerinalang.model.values.BXML in project ballerina by ballerina-lang.

the class JSONUtils method traverseTree.

/**
 * Traverse a JSON root node and produces the corresponding xml items.
 *
 * @param node {@link JsonNode} to be traversed
 * @param attributePrefix String prefix used for attributes
 * @param arrayEntryTag String used as the tag in the arrays
 * @return List of xml items genereated during the traversal.
 */
@SuppressWarnings("rawtypes")
private static List<BXML> traverseTree(JsonNode node, String attributePrefix, String arrayEntryTag) {
    List<BXML> xmlArray = new ArrayList<>();
    if (node.isValueNode()) {
        BXML xml = XMLUtils.parse(node.asText());
        xmlArray.add(xml);
    } else {
        traverseJsonNode(node, null, null, xmlArray, attributePrefix, arrayEntryTag);
    }
    return xmlArray;
}
Also used : ArrayList(java.util.ArrayList) BXML(org.ballerinalang.model.values.BXML)

Example 35 with BXML

use of org.ballerinalang.model.values.BXML in project ballerina by ballerina-lang.

the class JSONTest method testToXMLBooleanValue.

@Test(description = "Convert a json object with boolean value only")
public void testToXMLBooleanValue() {
    BValue[] returns = BRunUtil.invoke(compileResult, "testToXMLBooleanValue");
    Assert.assertTrue(returns[0] instanceof BXML);
    OMNode returnElement = ((BXMLItem) returns[0]).value();
    Assert.assertEquals(((OMText) returnElement).getText(), "true");
}
Also used : OMNode(org.apache.axiom.om.OMNode) BXMLItem(org.ballerinalang.model.values.BXMLItem) BValue(org.ballerinalang.model.values.BValue) BXML(org.ballerinalang.model.values.BXML) Test(org.testng.annotations.Test)

Aggregations

BXML (org.ballerinalang.model.values.BXML)52 BValue (org.ballerinalang.model.values.BValue)40 Test (org.testng.annotations.Test)29 BXMLItem (org.ballerinalang.model.values.BXMLItem)17 BJSON (org.ballerinalang.model.values.BJSON)16 OMNode (org.apache.axiom.om.OMNode)14 BXMLSequence (org.ballerinalang.model.values.BXMLSequence)11 BStruct (org.ballerinalang.model.values.BStruct)8 BRefValueArray (org.ballerinalang.model.values.BRefValueArray)7 BString (org.ballerinalang.model.values.BString)3 BlobDataSource (org.ballerinalang.runtime.message.BlobDataSource)2 StringDataSource (org.ballerinalang.runtime.message.StringDataSource)2 IOException (java.io.IOException)1 FileChannel (java.nio.channels.FileChannel)1 ArrayList (java.util.ArrayList)1 BallerinaConnectorException (org.ballerinalang.connector.api.BallerinaConnectorException)1 BBlob (org.ballerinalang.model.values.BBlob)1 BMap (org.ballerinalang.model.values.BMap)1 BNewArray (org.ballerinalang.model.values.BNewArray)1 BValueType (org.ballerinalang.model.values.BValueType)1