Search in sources :

Example 1 with Person

use of common.advanced.Person in project tesb-rt-se by Talend.

the class RESTClient method getPersons.

private List<Person> getPersons(WebClient wc) {
    // Can limit rows returned with 0-based start index and size (number of
    // records to return, -1 for all)
    // default (0, -1) returns everything
    // wc.query("start", "0");
    // wc.query("size", "2");
    PersonCollection collection = wc.get(PersonCollection.class);
    // Can call wc.getResponse() to see response codes
    List<Person> persons = collection.getList();
    System.out.println("Size: " + persons.size());
    for (Person person : persons) {
        System.out.println("ID " + person.getId() + " : " + person.getName() + ", age : " + person.getAge());
    }
    return persons;
}
Also used : PersonCollection(common.advanced.PersonCollection) Person(common.advanced.Person)

Example 2 with Person

use of common.advanced.Person in project tesb-rt-se by Talend.

the class RESTClient method getPerson.

private Person getPerson(WebClient wc) {
    Person person = wc.get(Person.class);
    System.out.println("ID " + person.getId() + " : " + person.getName() + ", age : " + person.getAge());
    return person;
}
Also used : Person(common.advanced.Person)

Example 3 with Person

use of common.advanced.Person in project tesb-rt-se by Talend.

the class PersonInfoStorage method init.

public void init() {
    try {
        em.getTransaction().begin();
        Person mother = new Person("Lorraine", 50);
        addPerson(mother);
        em.persist(mother);
        Person father = new Person("John", 55);
        addPerson(father);
        em.persist(father);
        Person partner = new Person("Catherine", 28);
        addPerson(partner);
        em.persist(partner);
        Person p = new Person("Fred", 30, mother, father, partner);
        addPerson(p);
        em.persist(p);
        father.addChild(p);
        mother.addChild(p);
        em.getTransaction().commit();
    } catch (Exception ex) {
        throw new RuntimeException(ex);
    }
}
Also used : Person(common.advanced.Person)

Example 4 with Person

use of common.advanced.Person in project tesb-rt-se by Talend.

the class PersonInfoStorage method getTypedQueryTuple.

public List<PersonInfo> getTypedQueryTuple(SearchContext context, String expression) {
    // Get search condition encapsulating the query expression
    SearchCondition<Person> filter = getSearchCondition(context, expression);
    // Initialise JPA2 visitor which can convert the captured search expression
    // into JPA2 TypedQuery
    JPACriteriaQueryVisitor<Person, Tuple> jpa = new JPACriteriaQueryVisitor<Person, Tuple>(em, Person.class, Tuple.class);
    // Convert
    filter.accept(jpa);
    // Shape the response data with selections and Tuple
    List<SingularAttribute<Person, ?>> selections = new ArrayList<SingularAttribute<Person, ?>>();
    selections.add(Person_.id);
    jpa.selectTuple(selections);
    // Get CriteriaQuery and create TypedQuery
    CriteriaQuery<Tuple> cquery = jpa.getQuery();
    TypedQuery<Tuple> typedQuery = em.createQuery(cquery);
    // Run the query
    List<Tuple> tuples = typedQuery.getResultList();
    // Return the results
    List<PersonInfo> infos = new ArrayList<PersonInfo>(tuples.size());
    for (Tuple tuple : tuples) {
        infos.add(new PersonInfo(tuple.get(Person_.id.getName(), Long.class)));
    }
    return infos;
}
Also used : PersonInfo(common.advanced.PersonInfo) JPACriteriaQueryVisitor(org.apache.cxf.jaxrs.ext.search.jpa.JPACriteriaQueryVisitor) ArrayList(java.util.ArrayList) SingularAttribute(javax.persistence.metamodel.SingularAttribute) Person(common.advanced.Person) Tuple(javax.persistence.Tuple)

Example 5 with Person

use of common.advanced.Person in project tesb-rt-se by Talend.

the class PersonServiceImpl method getPersons.

@Override
public Response getPersons(Integer start, Integer size) {
    List<Person> collPer = getPersonsList(start, size);
    PersonCollection perColl = new PersonCollection();
    perColl.setList(collPer);
    ResponseBuilder rb;
    if (collPer.size() == 0) {
        rb = Response.noContent();
    } else {
        rb = Response.ok(perColl);
    }
    return rb.build();
}
Also used : PersonCollection(common.advanced.PersonCollection) ResponseBuilder(javax.ws.rs.core.Response.ResponseBuilder) Person(common.advanced.Person)

Aggregations

Person (common.advanced.Person)8 PersonCollection (common.advanced.PersonCollection)4 Response (javax.ws.rs.core.Response)2 PersonInfo (common.advanced.PersonInfo)1 InputStream (java.io.InputStream)1 URI (java.net.URI)1 ArrayList (java.util.ArrayList)1 Tuple (javax.persistence.Tuple)1 SingularAttribute (javax.persistence.metamodel.SingularAttribute)1 ResponseBuilder (javax.ws.rs.core.Response.ResponseBuilder)1 UriBuilder (javax.ws.rs.core.UriBuilder)1 WebClient (org.apache.cxf.jaxrs.client.WebClient)1 JPACriteriaQueryVisitor (org.apache.cxf.jaxrs.ext.search.jpa.JPACriteriaQueryVisitor)1