Example usage for org.hibernate.criterion DetachedCriteria setProjection

List of usage examples for org.hibernate.criterion DetachedCriteria setProjection

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria setProjection.

Prototype

public DetachedCriteria setProjection(Projection projection) 

Source Link

Document

Set the projection to use.

Usage

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

@Transactional(propagation = Propagation.REQUIRED)
public int getAvailableRolesCount(ExecutionContext context, String roleName, Set userRoles, String userName) {

    DetachedCriteria criteria = createAvailableRolesCriteria(roleName, userRoles, userName, false);
    criteria.setProjection(Projections.rowCount());

    List results = getHibernateTemplate().findByCriteria(criteria);

    Integer rowCount = new Integer(0);
    if (results != null && !results.isEmpty()) {
        rowCount = (Integer) results.get(0);
    }/*  w w  w.  j  a  v  a 2s.c om*/

    return rowCount.intValue();
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

protected List getRoleIdList(Set roleNames) {
    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentRoleClass());

    if (roleNames != null && roleNames.size() > 0) {

        criteria.add(Restrictions.in("roleName", roleNames));
    } else {/* w  w  w.java2 s .c o  m*/

        return new ArrayList();
    }

    criteria.setProjection(Projections.id());

    return getHibernateTemplate().findByCriteria(criteria);
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

@Transactional(propagation = Propagation.REQUIRED)
public int getAvailableRolesCount(ExecutionContext context, String userName, String text) {
    DetachedCriteria criteria = createAvailableRolesCriteria(context, userName, text, false);
    criteria.setProjection(Projections.rowCount());

    List results = getHibernateTemplate().findByCriteria(criteria);

    int rowCount = 0;
    if (results != null && !results.isEmpty()) {
        rowCount = (Integer) results.get(0);
    }/*  w  w w  .  ja  va 2  s. c  o  m*/

    return rowCount;
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

@SuppressWarnings({ "unchecked" })
protected List<Long> getUserRolesIds(RepoUser user) {
    DetachedCriteria criteria = createAssignedRolesCriteria(null, user, null, true);
    criteria.setProjection(Projections.id());

    return (List<Long>) getHibernateTemplate().findByCriteria(criteria);
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

@Transactional(propagation = Propagation.REQUIRED)
public int getAssignedRolesCount(ExecutionContext context, String userName, String text) {
    RepoUser user = getRepoUser(context, userName);

    DetachedCriteria criteria = createAssignedRolesCriteria(context, user, text, false);
    criteria.setProjection(Projections.rowCount());

    List results = getHibernateTemplate().findByCriteria(criteria);

    int rowCount = 0;
    if (results != null && !results.isEmpty()) {
        rowCount = (Integer) results.get(0);
    }/*from w  ww . java 2  s  . com*/

    return rowCount;
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

@Transactional(propagation = Propagation.REQUIRED)
public int getUsersCountWithoutRole(ExecutionContext context, String roleName, String userName) {

    DetachedCriteria criteria = createUsersWithoutRoleCriteria(roleName, userName, false);
    criteria.setProjection(Projections.rowCount());

    List results = getHibernateTemplate().findByCriteria(criteria);

    return getRowCountFromResult(results);
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

protected DetachedCriteria createUsersWithoutRoleCriteria(String roleName, String userName, boolean order) {

    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentUserClass());

    DetachedCriteria usersWithRoleCriteria = createUsersWithRoleCriteria(roleName, "");
    usersWithRoleCriteria.setProjection(Projections.id());

    List usersWithRole = getHibernateTemplate().findByCriteria(usersWithRoleCriteria);

    String userNameField = "username";

    //        addTenantCriteria(criteria, tenantIds);
    createSearchByUserNameCriteria(criteria, userName);

    if (usersWithRole != null && usersWithRole.size() > 0) {
        criteria.add(Restrictions.not(Restrictions.in("id", usersWithRole)));
    }/*  www .ja  va  2s.c o m*/

    if (order) {
        criteria.addOrder(Order.asc(userNameField));
    }

    return criteria;
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

protected List getIdByTenantIdSet(Set tenantIds) {
    DetachedCriteria idCriteria = DetachedCriteria.forClass(getPersistentTenantClass());
    idCriteria.add(Restrictions.in("tenantId", tenantIds));
    idCriteria.setProjection(Projections.id());
    return getHibernateTemplate().findByCriteria(idCriteria);
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

@Transactional(propagation = Propagation.REQUIRED)
public int getUsersCountWithRole(ExecutionContext context, String roleName, String userName) {

    DetachedCriteria criteria = createUsersWithRoleCriteria(roleName, userName, false);
    criteria.setProjection(Projections.rowCount());

    List results = getHibernateTemplate().findByCriteria(criteria);

    return getRowCountFromResult(results);
}

From source file:com.jgeppert.struts2.jquery.grid.showcase.action.JsonOrdersAction.java

License:Apache License

public String execute() {
    log.debug("Page " + getPage() + " Rows " + getRows() + " Sorting Order " + getSord() + " Index Row :"
            + getSidx());//from w w w  .  j  a va  2 s .com
    log.debug("Search :" + searchField + " " + searchOper + " " + searchString);

    // Calcalate until rows ware selected
    int to = (rows * page);

    // Calculate the first row to read
    int from = to - rows;

    // Criteria to Build SQL
    DetachedCriteria criteria = DetachedCriteria.forClass(Orders.class);

    if (id != null) {
        criteria.createAlias("customer", "c");
        criteria.add(Restrictions.eq("c.customernumber", id));
    }

    // Handle Search
    if (searchField != null) {
        if (searchField.equals("customernumber")) {
            Integer searchValue = Integer.parseInt(searchString);
            if (searchOper.equals("eq"))
                criteria.add(Restrictions.eq("ordernumber", searchValue));
            else if (searchOper.equals("ne"))
                criteria.add(Restrictions.ne("ordernumber", searchValue));
            else if (searchOper.equals("lt"))
                criteria.add(Restrictions.lt("ordernumber", searchValue));
            else if (searchOper.equals("gt"))
                criteria.add(Restrictions.gt("ordernumber", searchValue));
        } else if (searchField.equals("status") || searchField.equals("comments")) {
            if (searchOper.equals("eq"))
                criteria.add(Restrictions.eq(searchField, searchString));
            else if (searchOper.equals("ne"))
                criteria.add(Restrictions.ne(searchField, searchString));
            else if (searchOper.equals("bw"))
                criteria.add(Restrictions.like(searchField, searchString + "%"));
            else if (searchOper.equals("cn"))
                criteria.add(Restrictions.like(searchField, "%" + searchString + "%"));
        }
        if (searchField.equals("customer")) {
            Integer searchValue = Integer.parseInt(searchString);
            criteria.createAlias("customer", "c");

            if (searchOper.equals("eq"))
                criteria.add(Restrictions.eq("c.customernumber", searchValue));
            else if (searchOper.equals("ne"))
                criteria.add(Restrictions.ne("c.customernumber", searchValue));
            else if (searchOper.equals("lt"))
                criteria.add(Restrictions.lt("c.customernumber", searchValue));
            else if (searchOper.equals("gt"))
                criteria.add(Restrictions.gt("c.customernumber", searchValue));
        }
    }

    // Count Orders
    records = ordersDao.countByCriteria(criteria);

    // Reset count Projection
    criteria.setProjection(null);
    criteria.setResultTransformer(Criteria.ROOT_ENTITY);

    // Handle Order By
    if (sidx != null && !sidx.equals("")) {
        if (!sidx.equals("customer")) {
            if (sord.equals("asc"))
                criteria.addOrder(Order.asc(sidx));
            else
                criteria.addOrder(Order.desc(sidx));
        } else {
            if (sord.equals("asc"))
                criteria.addOrder(Order.asc("customer.customernumber"));
            else
                criteria.addOrder(Order.desc("customer.customernumber"));
        }
    }

    // Get Customers by Criteria
    gridModel = ordersDao.findByCriteria(criteria, from, rows);

    // Set to = max rows
    if (to > records)
        to = records;

    // Calculate total Pages
    total = (int) Math.ceil((double) records / (double) rows);

    return SUCCESS;
}