Search in sources :

Example 76 with Result

use of com.codename1.rad.processing.Result in project CodeRAD by shannah.

the class ResultParserTest method testResult.

private void testResult() throws Exception {
    String json = "<person name=\"Paul\" email=\"paul@example.com\" dob=\"December 27, 1978\">" + "<children><person name=\"Jim\" email=\"jim@example.com\" dob=\"January 10, 1979\"/>" + "<person name=\"Jill\" email=\"jill@example.com\" dob=\"January 11, 1979\"/></children></person>";
    XMLParser xparser = new XMLParser();
    Element root = xparser.parse(new StringReader("<?xml version='1.0'?>\n" + json));
    assertEqual("Paul", root.getAttribute("name"));
    Result r = Result.fromContent(root);
    assertEqual("Paul", r.get("/person/@name"));
    assertEqual("Paul", r.getAsString("./@name"));
    assertEqual("Paul", r.getAsString("@name"));
    assertEqual("Paul", r.get("/person[0]/@name"));
    assertEqual("Jim", r.get("./children/person[0]/@name"));
    assertEqual("Jim", r.getAsString("./children/person/@name"));
    assertEqual("Jim", r.getAsString("./children[0]/person/@name"));
    assertEqual(2, r.getAsStringArray("./children/person/@name").length);
    assertEqual("Jim", r.get("/person/children/person[0]/@name"));
    assertEqual("Jim", r.getAsString("/person[0]/children/person/@name"));
    assertEqual("Jim", r.getAsString("children[0]/person/@name"));
    assertEqual(2, r.getAsStringArray("children/person/@name").length);
}
Also used : Element(com.codename1.xml.Element) StringReader(java.io.StringReader) XMLParser(com.codename1.xml.XMLParser) Result(com.codename1.rad.processing.Result)

Example 77 with Result

use of com.codename1.rad.processing.Result in project CodeRAD by shannah.

the class ResultParserTest method nestedXMLAttsTest.

// Disabling nested XML Atts tests because I can't figure out how
// Result works with XML...
private void nestedXMLAttsTest() throws Exception {
    assertTrue(personType.newInstance() instanceof PersonModel, "persontype should create a Person, but created " + personType.newInstance());
    ResultParser parser = new ResultParser(personType).property("@name", Person.name).property("@email", Person.email).property("@dob", Person.birthDate, new SimpleDateFormat("MMM d, yyyy")).property("./children/person", Person.children).property("./publication", publications);
    ResultParser publicationParser = new ResultParser(publicationType).property("@name", Thing.name).property(".", Thing.description);
    parser.add(publicationParser);
    String json = "<person name=\"Paul\" email=\"paul@example.com\" dob=\"December 27, 1978\">" + "<children><person name=\"Jim\" email=\"jim@example.com\" dob=\"January 10, 1979\"/>" + "<person name=\"Jill\" email=\"jill@example.com\" dob=\"January 11, 1979\"/></children><publication name=\"Time Magazine\">Political and current event stories</publication>" + "<publication name=\"Vancouver Sun\"/></person>";
    XMLParser xparser = new XMLParser();
    Element root = xparser.parse(new StringReader("<?xml version='1.0'?>\n" + json));
    Entity person = parser.parseRow(Result.fromContent(root), personType.newInstance());
    assertEqual("Paul", person.getEntity().getText(Person.name));
    assertEqual("paul@example.com", person.getEntity().getText(Person.email));
    People children = (People) person.getEntity().get(Person.children);
    assertEqual(2, children.size());
    assertEqual("Jim", children.get(0).get(Person.name));
    assertEqual("jim@example.com", children.get(0).get(Person.email));
    assertEqual("Jill", children.get(1).get(Person.name));
    assertEqual("jill@example.com", children.get(1).get(Person.email));
    Publications pubs = (Publications) person.getEntity().get(publications);
    assertEqual(2, pubs.size());
    assertEqual("Time Magazine", pubs.get(0).get(Thing.name));
    assertEqual("Vancouver Sun", pubs.get(1).get(Thing.name));
    assertEqual("Political and current event stories", pubs.get(0).get(Thing.description));
}
Also used : Entity(com.codename1.rad.models.Entity) Element(com.codename1.xml.Element) StringReader(java.io.StringReader) ResultParser(com.codename1.rad.io.ResultParser) XMLParser(com.codename1.xml.XMLParser) SimpleDateFormat(com.codename1.l10n.SimpleDateFormat)

Aggregations

IOException (java.io.IOException)19 ArrayList (java.util.ArrayList)14 Form (com.codename1.ui.Form)12 Button (com.codename1.ui.Button)11 Map (java.util.Map)9 Date (java.util.Date)8 HashMap (java.util.HashMap)8 Label (com.codename1.ui.Label)7 BorderLayout (com.codename1.ui.layouts.BorderLayout)7 List (java.util.List)7 Container (com.codename1.ui.Container)6 ByteArrayInputStream (java.io.ByteArrayInputStream)6 OutputStream (java.io.OutputStream)6 JSONParser (com.codename1.io.JSONParser)5 Result (com.codename1.rad.processing.Result)5 ActionEvent (com.codename1.ui.events.ActionEvent)5 File (java.io.File)5 Cursor (com.codename1.db.Cursor)4 ConnectionRequest (com.codename1.io.ConnectionRequest)4 Entity (com.codename1.rad.models.Entity)4