Search in sources :

Example 11 with Person

use of com.codename1.rad.schemas.Person in project CodeRAD by shannah.

the class ResultParserTest method dateFormatXMLAttsTest.

private void dateFormatXMLAttsTest() throws Exception {
    EntityType personType = new EntityTypeBuilder().string(Person.name).string(Person.email).Date(Person.birthDate).build();
    ResultParser parser = new ResultParser(personType).property("/person[0]/@name", Person.name).property("/person[0]/@email", Person.email).property("/person[0]/@dob", Person.birthDate, new SimpleDateFormat("MMM d, yyyy"));
    String json = "<person name=\"Paul\" email=\"paul@example.com\" dob=\"December 27, 1978\"></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));
}
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)

Example 12 with Person

use of com.codename1.rad.schemas.Person in project CodeRAD by shannah.

the class ElementSelectorTest method runTest.

@Override
public boolean runTest() 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));
    ElementSelector found = new ElementSelector("person", root);
    assertEqual(2, found.size(), "There should be 2 person elements");
    assertEqual(1, new ElementSelector("person[name=Jill]", root).size(), "Wrong count on search for Jill");
    assertEqual(1, new ElementSelector("person[name=Jim]", root).size(), "Wrong count on search for Jim");
    assertEqual(0, new ElementSelector("person[name=John]", root).size(), "Wrong count on search for John");
    assertEqual(1, new ElementSelector("person[name='Jill']", root).size(), "Wrong count on search for 'Jill'");
    assertEqual(1, new ElementSelector("person[name=\"Jill\"]", root).size(), "Wrong count on search for \"Jill\"");
    assertEqual(1, new ElementSelector("person[name!=\"Jill\"]", root).size(), "Wrong count on search for != \"Jill\"");
    assertEqual("Jim", new ElementSelector("person[name!=Jill]", root).getAttribute("name"), "Wrong name for query name!=Jill");
    assertEqual("Paul", new ElementSelector(root).getAttribute("name"), "Wrong name for root wrapped");
    assertEqual(1, new ElementSelector("person[name=Jill OR name=John]", root).size(), "Wrong count on search for Jill or John");
    assertEqual(2, new ElementSelector("person[name=Jill OR name=Jim]", root).size(), "Wrong count on search for Jill or John");
    assertEqual(2, new ElementSelector("person[name=Jill], person[name=Jim]", root).size(), "Wrong count compound search for Jill and John");
    assertEqual(0, new ElementSelector("person[name=Jill AND name=Jim]", root).size(), "Wrong count on search for Jill and John");
    assertEqual("Jill", new ElementSelector(root).getString("children/person[name=Jill]/@name", null), "getString() returned wrong value");
    assertEqual("Jill", new ElementSelector(root).getString(">children/person[name=Jill]/@name", null), "getString() returned wrong value which child selector");
    assertEqual("Jill", new ElementSelector(root).getString(">*/person[name=Jill]/@name", null), "getString() returned wrong value with > * selector");
    assertEqual("Jill", new ElementSelector(root).getString("*[name=Jill]/@name", null), "getString() returned wrong value with * selector");
    assertEqual("Jim", new ElementSelector(root).getString("*[name=Jim]/@name", null), "getString() returned wrong value with * selector");
    assertEqual("Jim", new ElementSelector(root).getString("person/@name", null), "Should return Jim because it is the first person.");
    assertEqual(1, new ElementSelector("person", root).getParent().size(), "All people have same parent, so size of getParent() should be 1");
    assertEqual("Paul", new ElementSelector("person", root).getParent().getParent().getString("@name", null), "Double parent should have name paul");
    return true;
}
Also used : Element(com.codename1.xml.Element) StringReader(java.io.StringReader) XMLParser(com.codename1.xml.XMLParser) ElementSelector(com.codename1.rad.io.ElementSelector)

Example 13 with Person

use of com.codename1.rad.schemas.Person in project CodeRAD by shannah.

the class EntityListViewTest method testSortedListTransactions.

private void testSortedListTransactions() {
    SortedList<Entity> internal = new SortedList<Entity>(new Comparator<Entity>() {

        @Override
        public int compare(Entity a, Entity b) {
            String name1 = a.getText(Thing.name);
            if (name1 == null)
                name1 = "";
            String name2 = b.getText(Thing.name);
            if (name2 == null)
                name2 = "";
            return name1.compareTo(name2);
        }
    });
    EntityList el = new EntityList() {

        @Override
        protected List createInternalList() {
            return internal;
        }
    };
    class Person extends BaseEntity {
    }
    entityTypeBuilder(Person.class).string(Thing.name).factory(cls -> {
        return new Person();
    }).build();
    Person a = new Person();
    a.set(Thing.name, "A");
    Person b = new Person();
    b.set(Thing.name, "B");
    Person c = new Person();
    c.set(Thing.name, "C");
    Person d = new Person();
    d.set(Thing.name, "D");
    ProfileListView view = new ProfileListView(el);
    view.bind();
    assertEqual(0, view.getScrollWrapper().getComponentCount());
    el.add(b);
    assertEqual(1, view.getScrollWrapper().getComponentCount());
    assertNotNull(view.getRowViewForEntity(b));
    assertNull(view.getRowViewForEntity(a));
    el.add(a);
    assertEqual(0, el.indexOf(a));
    assertEqual(1, el.indexOf(b));
    assertEqual(2, view.getScrollWrapper().getComponentCount());
    assertEqual(0, view.getScrollWrapper().getComponentIndex((Component) view.getRowViewForEntity(a)));
    assertEqual(1, view.getScrollWrapper().getComponentIndex((Component) view.getRowViewForEntity(b)));
    view.unbind();
}
Also used : AbstractTest(com.codename1.testing.AbstractTest) EntityType(com.codename1.rad.models.EntityType) BaseEntity.entityTypeBuilder(com.codename1.rad.models.BaseEntity.entityTypeBuilder) EntityList(com.codename1.rad.models.EntityList) AbstractList(java.util.AbstractList) BaseEntity(com.codename1.rad.models.BaseEntity) ProfileListView(com.codename1.rad.ui.entityviews.ProfileListView) TreeSet(java.util.TreeSet) ArrayList(java.util.ArrayList) List(java.util.List) Component(com.codename1.ui.Component) Thing(com.codename1.rad.schemas.Thing) Comparator(java.util.Comparator) Entity(com.codename1.rad.models.Entity) Collections(java.util.Collections) BaseEntity(com.codename1.rad.models.BaseEntity) Entity(com.codename1.rad.models.Entity) EntityList(com.codename1.rad.models.EntityList) BaseEntity(com.codename1.rad.models.BaseEntity) ProfileListView(com.codename1.rad.ui.entityviews.ProfileListView) Component(com.codename1.ui.Component)

Aggregations

Entity (com.codename1.rad.models.Entity)9 SimpleDateFormat (com.codename1.l10n.SimpleDateFormat)6 ResultParser (com.codename1.rad.io.ResultParser)6 Element (com.codename1.xml.Element)6 XMLParser (com.codename1.xml.XMLParser)6 StringReader (java.io.StringReader)6 Thing (com.codename1.rad.schemas.Thing)4 Log (com.codename1.io.Log)3 EntityList (com.codename1.rad.models.EntityList)3 Result (com.codename1.rad.processing.Result)3 ProfileListView (com.codename1.rad.ui.entityviews.ProfileListView)3 BorderLayout (com.codename1.ui.layouts.BorderLayout)3 List (java.util.List)3 NetworkEvent (com.codename1.io.NetworkEvent)2 ParseException (com.codename1.l10n.ParseException)2 ViewController (com.codename1.rad.controllers.ViewController)2 BaseEntity.entityTypeBuilder (com.codename1.rad.models.BaseEntity.entityTypeBuilder)2 EntityTypeBuilder.entityTypeBuilder (com.codename1.rad.models.EntityTypeBuilder.entityTypeBuilder)2 ActionNode (com.codename1.rad.nodes.ActionNode)2 ListNode (com.codename1.rad.nodes.ListNode)2