Search in sources :

Example 1 with QueryResult

use of com.haulmont.cuba.core.entity.QueryResult in project cuba by cuba-platform.

the class QueryResultTest method test.

@Test
public void test() {
    Transaction tx;
    javax.persistence.EntityManager emDelegate;
    EntityManager em;
    Query query;
    UUID sessionId = UUID.randomUUID();
    int queryKey = 1;
    tx = cont.persistence().createTransaction();
    try {
        emDelegate = cont.persistence().getEntityManager().getDelegate();
        QueryResult queryResult = new QueryResult();
        queryResult.setSessionId(sessionId);
        queryResult.setQueryKey(queryKey);
        queryResult.setEntityId(UUID.fromString("60885987-1b61-4247-94c7-dff348347f93"));
        emDelegate.persist(queryResult);
        tx.commitRetaining();
        em = cont.persistence().getEntityManager();
        query = em.createQuery("select u from sec$User u, sys$QueryResult qr " + "where qr.entityId = u.id and qr.sessionId = ?1 and qr.queryKey = ?2");
        query.setParameter(1, sessionId);
        query.setParameter(2, queryKey);
        query.setView(new View(User.class).addProperty("login").addProperty("name").addProperty("group", new View(Group.class).addProperty("name")));
        // OpenJPAQuery openJPAQuery = (OpenJPAQuery) query.getDelegate();
        // Map params = new HashMap();
        // params.put(1, sessionId);
        // params.put(2, queryKey);
        // String[] dataStoreActions = openJPAQuery.getDataStoreActions(params);
        // 
        // System.out.println(dataStoreActions);
        List<User> list = query.getResultList();
        assertEquals(1, list.size());
        User user = list.get(0);
        assertEquals("admin", user.getLogin());
        tx.commit();
    } finally {
        tx.end();
    }
}
Also used : Group(com.haulmont.cuba.security.entity.Group) QueryResult(com.haulmont.cuba.core.entity.QueryResult) User(com.haulmont.cuba.security.entity.User) View(com.haulmont.cuba.core.global.View) Test(org.junit.Test)

Aggregations

QueryResult (com.haulmont.cuba.core.entity.QueryResult)1 View (com.haulmont.cuba.core.global.View)1 Group (com.haulmont.cuba.security.entity.Group)1 User (com.haulmont.cuba.security.entity.User)1 Test (org.junit.Test)1