+++ /dev/null
-package org.opendaylight.controller.northbound.commons.query;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-public class XMLAccessorTypeTest {
-
- @Test
- public void testPublicAccessType() throws Exception {
- // create bean
- List<PublicAccessBean> testList = new ArrayList<PublicAccessBean>();
- testList.add(new PublicAccessBean("John", "Scott", "private", 1,
- "transient", "elem1"));
- testList.add(new PublicAccessBean("Foo", "Bar", "private1", 2,
- "transient1", "elem2"));
- QueryContextTest.p(QueryContextTest.toXml(testList.get(0)));
-
- QueryContext queryContext = new QueryContextImpl();
- Assert.assertNotNull(queryContext);
- // search for public field
- Query<PublicAccessBean> query = queryContext.createQuery(
- "publicbean.firstName==Foo", PublicAccessBean.class);
- Assert.assertNotNull(query);
-
- List<PublicAccessBean> found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(1, found.size());
- Assert.assertEquals("Foo", found.get(0).firstName);
-
- // search for public getter
- query = queryContext.createQuery("publicbean.privateGetterField<2",
- PublicAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(1, found.size());
- Assert.assertEquals("John", found.get(0).firstName);
-
- // test for transient field
- query = queryContext.createQuery("publicbean.transientField='trans*'",
- PublicAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(0, found.size());
-
- // test for private field
- query = queryContext.createQuery("publicbean.privateField==private",
- PublicAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(0, found.size());
-
- // test for XML Element
- query = queryContext.createQuery("publicbean.element==elem1",
- PublicAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(1, found.size());
- Assert.assertEquals("John", found.get(0).firstName);
- }
-
- @Test
- public void testFieldAccessType() throws QueryException {
- // create bean
- List<FieldAccessBean> testList = new ArrayList<FieldAccessBean>();
- testList.add(new FieldAccessBean("John", "Scott", "private", 1, "elem1"));
- testList.add(new FieldAccessBean("Foo", "Bar", "private1", 2, "elem2"));
-
- QueryContextTest.p(QueryContextTest.toXml(testList.get(0)));
- QueryContext queryContext = new QueryContextImpl();
- Assert.assertNotNull(queryContext);
- // test private field
- Query<FieldAccessBean> query = queryContext.createQuery(
- "field.privateField==private", FieldAccessBean.class);
- Assert.assertNotNull(query);
-
- List<FieldAccessBean> found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(1, found.size());
- Assert.assertEquals("John", found.get(0).firstName);
-
- // test public field
- query = queryContext.createQuery("field.firstName==Foo",
- FieldAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(1, found.size());
- Assert.assertEquals("Foo", found.get(0).firstName);
-
- // test annotated field
- query = queryContext.createQuery("field.element==elem2",
- FieldAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(1, found.size());
- Assert.assertEquals("Foo", found.get(0).firstName);
-
- // test annotated method
- query = queryContext.createQuery("field.privateGetterField==11",
- FieldAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(1, found.size());
- Assert.assertEquals("John", found.get(0).firstName);
- }
-
- @Test
- public void testPropertyAccessType() throws QueryException {
- // create bean
- List<PropertyAccessBean> testList = new ArrayList<PropertyAccessBean>();
- testList.add(new PropertyAccessBean("John", "Scott", "private", 1, "elem1",
- "transient1"));
- testList.add(new PropertyAccessBean("Foo", "Bar", "private1", 2, "elem2",
- "transient2"));
-
- QueryContextTest.p(QueryContextTest.toXml(testList.get(0)));
- QueryContext queryContext = new QueryContextImpl();
- Assert.assertNotNull(queryContext);
- // test public getter public field
- Query<PropertyAccessBean> query = queryContext.createQuery(
- "property.firstName==John", PropertyAccessBean.class);
- Assert.assertNotNull(query);
-
- List<PropertyAccessBean> found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(1, found.size());
- Assert.assertEquals("John", found.get(0).firstName);
-
- // test public field no getter
- query = queryContext.createQuery("property.lastName==Bar",
- PropertyAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(0, found.size());
-
- // test annotated field
- query = queryContext.createQuery("property.element==elem2",
- PropertyAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(1, found.size());
- Assert.assertEquals("Foo", found.get(0).firstName);
-
- // test annotated method
- query = queryContext.createQuery("property.field==private",
- PropertyAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(1, found.size());
- Assert.assertEquals("John", found.get(0).firstName);
-
- // test transient method
- query = queryContext.createQuery("property.transientField==transient1",
- PropertyAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(0, found.size());
- }
-
- @Test
- public void testNoneAccessType() throws QueryException {
- // create bean
- List<NoneAccessBean> testList = new ArrayList<NoneAccessBean>();
- testList.add(new NoneAccessBean("John", "Scott", "private"));
- testList.add(new NoneAccessBean("Foo", "Bar", "private1"));
-
- QueryContextTest.p(QueryContextTest.toXml(testList.get(0)));
- QueryContext queryContext = new QueryContextImpl();
- Assert.assertNotNull(queryContext);
- // test annotated field
- Query<NoneAccessBean> query = queryContext.createQuery(
- "test.firstName==John", NoneAccessBean.class);
- Assert.assertNotNull(query);
-
- List<NoneAccessBean> found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(1, found.size());
- Assert.assertEquals("John", found.get(0).getFirstName());
- // test unannotated field
- query = queryContext
- .createQuery("test.lastName==Bar", NoneAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(0, found.size());
- // test annotated method
- query = queryContext.createQuery("test.testField==private",
- NoneAccessBean.class);
- Assert.assertNotNull(query);
-
- found = query.find(testList);
- Assert.assertNotNull(found);
- Assert.assertEquals(1, found.size());
- Assert.assertEquals("John", found.get(0).getFirstName());
-
- }
-
-}
-
-// default ( public memeber )
-@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
-@XmlRootElement(name = "publicbean")
-class PublicAccessBean {
-
- public String firstName;
- public String lastName;
- private String privateField;
- private int privateGetterField;
- @XmlTransient
- public String transientField;
- @XmlElement(name = "element")
- private String xmlElem;
-
- public PublicAccessBean() {
- }
-
- public PublicAccessBean(String firstName, String lastName,
- String privateField, int privateGetterField, String transientField,
- String xmlElem) {
- this.firstName = firstName;
- this.lastName = lastName;
- this.privateField = privateField;
- this.privateGetterField = privateGetterField;
- this.transientField = transientField;
- this.xmlElem = xmlElem;
- }
-
- public int getPrivateGetterField() {
- return privateGetterField;
- }
-
- public void setPrivateGetterField(int field) {
- this.privateGetterField = field;
- }
-}
-
-// default ( public memeber )
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlRootElement(name = "field")
-class FieldAccessBean {
-
- public String firstName;
- public String lastName;
- private String privateField;
- private int test;
- @XmlElement(name = "element")
- private String xmlElem;
-
- public FieldAccessBean() {
- }
-
- public FieldAccessBean(String firstName, String lastName,
- String privateField, int privateGetterField, String xmlElem) {
- this.firstName = firstName;
- this.lastName = lastName;
- this.privateField = privateField;
- this.xmlElem = xmlElem;
- this.test = privateGetterField;
- }
-
- public String getPrivateField() {
- return privateField;
- }
-
- @XmlElement(name = "privateGetterField")
- public int getPrivateGetterField() {
- return test + 10;
- }
-}
-
-// default ( public memeber )
-@XmlAccessorType(XmlAccessType.PROPERTY)
-@XmlRootElement(name = "property")
-class PropertyAccessBean {
-
- public String firstName;
- public String lastName;
- private String privateField;
- private int privateGetterField;
- @XmlElement(name = "element")
- private String xmlElem;
- private String transientField;
-
- public PropertyAccessBean() {
- }
-
- public PropertyAccessBean(String firstName, String lastName,
- String privateField, int privateGetterField, String xmlElem,
- String transientField) {
- this.firstName = firstName;
- this.lastName = lastName;
- this.privateField = privateField;
- this.privateGetterField = privateGetterField;
- this.xmlElem = xmlElem;
- this.transientField = transientField;
- }
-
- public int getPrivateGetterField() {
- return privateGetterField;
- }
-
- @XmlElement(name = "field")
- public String getPrivateField() {
- return privateField;
- }
-
- public String getFirstName() {
- return firstName;
- }
-
- @XmlTransient
- public String getTransientField() {
- return transientField;
- }
-}
-
-// default ( public memeber )
-@XmlAccessorType(XmlAccessType.NONE)
-@XmlRootElement(name = "test")
-class NoneAccessBean {
- @XmlElement
- private String firstName;
- public String lastName;
- private String testField;
-
- public NoneAccessBean() {
- }
-
- public NoneAccessBean(String firstName, String lastName, String testField) {
- this.firstName = firstName;
- this.lastName = lastName;
- this.testField = testField;
- }
-
- @XmlElement(name = "testField")
- public String getTestField() {
- return testField;
- }
-
- public String getFirstName() {
- return firstName;
- }
-}