Example usage for org.hibernate.criterion Restrictions in

List of usage examples for org.hibernate.criterion Restrictions in

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions in.

Prototype

public static Criterion in(String propertyName, Collection values) 

Source Link

Document

Apply an "in" constraint to the named property.

Usage

From source file:com.itrus.ca.modules.sys.service.OfficeService.java

License:Open Source License

public List<Office> findByIds(Page<Office> page, List<Long> officeIds) {
    DetachedCriteria dc = officeDao.createDetachedCriteria();
    if (officeIds.size() > 0) {
        dc.add(Restrictions.in("id", officeIds));
    }//  ww w .  j  a  v  a  2s  .  c  o  m
    dc.add(Restrictions.eq("delFlag", Office.DEL_FLAG_NORMAL));
    dc.addOrder(Order.asc("code"));
    dc.addOrder(Order.desc("id"));
    return officeDao.find(dc);
}

From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateFilter.java

License:Open Source License

public void applyPropertyFilter(PropertyFilter filter) {
    Criterion propCriterion;//  w w w.  j  a v  a 2 s  . c  om
    switch (filter.getOp()) {
    case PropertyFilter.EQ:
        propCriterion = Restrictions.eq(filter.getProperty(), filter.getValue());
        break;
    case PropertyFilter.LIKE:
        propCriterion = Restrictions.like(filter.getProperty(), filter.getValue());
        break;
    case PropertyFilter.GT:
        propCriterion = Restrictions.gt(filter.getProperty(), filter.getValue());
        break;
    case PropertyFilter.LT:
        propCriterion = Restrictions.lt(filter.getProperty(), filter.getValue());
        break;
    case PropertyFilter.BETWEEN:
        propCriterion = Restrictions.between(filter.getProperty(), filter.getLowValue(), filter.getHighValue());
        break;
    case PropertyFilter.IN:
        propCriterion = Restrictions.in(filter.getProperty(), filter.getValues());
        break;
    default:
        throw new JSException("jsexception.hibernate.unknown.property.filter.operation",
                new Object[] { new Byte(filter.getOp()) });
    }
    add(propCriterion);
}

From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.java

License:Open Source License

protected List<ResourceLookup> getResourcesByIdList(List<Long> idList,
        SearchCriteriaFactory searchCriteriaFactory) {
    List resourceList = new ArrayList();

    if (!idList.isEmpty()) {
        DetachedCriteria criteria = searchCriteriaFactory != null
                ? searchCriteriaFactory.create(ExecutionContextImpl.getRuntimeExecutionContext(), null)
                : DetachedCriteria.forClass(RepoResource.class);
        criteria.add(Restrictions.in("id", idList));
        resourceList = getHibernateTemplate().findByCriteria(criteria);
    }//from w w w  .jav  a 2  s .  c  om

    // Reordering is required because the result (resource) list is not in the same order as id list.
    List orderedResourceList = orderByIdList(resourceList, idList);

    return toLookups(orderedResourceList, true);
}

From source file:com.jaspersoft.jasperserver.api.metadata.tenant.service.impl.TenantServiceImpl.java

License:Open Source License

public Map<String, Integer> getSubTenantsCountMap(List<String> tenantIds) {
    if (tenantIds == null || tenantIds.size() == 0) {
        return Collections.emptyMap();
    }/* w w  w  .  j  ava2s  . c  om*/

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

    criteria.createAlias("parent", "p");
    criteria.add(Restrictions.in("p.tenantId", tenantIds));

    criteria.setProjection(Projections.projectionList().add(Projections.rowCount())
            .add(Projections.groupProperty("p.tenantId")));
    criteria.getExecutableCriteria(getSession()).setCacheable(true);

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

    Map<String, Integer> subTenantCounts = new HashMap<String, Integer>(tenantIds.size(), 1);
    if (results != null && results.size() > 0) {
        for (Object result : results) {
            String tenantId = (String) ((Object[]) result)[1];
            Integer count = (Integer) ((Object[]) result)[0];

            subTenantCounts.put(tenantId, count);
        }
    }

    for (String tenantId : tenantIds) {
        if (!subTenantCounts.containsKey(tenantId)) {
            subTenantCounts.put(tenantId, 0);
        }
    }

    return subTenantCounts;
}

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

License:Open Source License

@Transactional(propagation = Propagation.REQUIRED)
public int getUsersCountExceptExcluded(ExecutionContext executionContext, final Set<String> excludedUserNames,
        final boolean excludeDisabledUsers) {
    return (Integer) getHibernateTemplate().execute(new HibernateCallback() {
        public Object doInHibernate(Session session) throws HibernateException, SQLException {
            Criteria criteria = session.createCriteria(getPersistentUserClass());
            if (excludedUserNames != null && excludedUserNames.size() > 0) {
                criteria.add(Restrictions.not(Restrictions.in("username", excludedUserNames)));
            }/*w w  w . j av a 2  s . c  o m*/
            if (excludeDisabledUsers) {
                criteria.add(Restrictions.eq("enabled", true));
            }
            criteria.setProjection(Projections.count("id"));
            return criteria.uniqueResult();
        }
    });
}

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

License:Open Source License

private Criteria createTenantUsersCriteria(Session session, Set tenantIds, String name, boolean order) {
    Set internalTenantIds = null;
    if (tenantIds != null) {
        internalTenantIds = new HashSet();
        internalTenantIds.addAll(tenantIds);
        if (internalTenantIds.contains(null)) {
            internalTenantIds.remove(null);
            internalTenantIds.add(TenantService.ORGANIZATIONS);
        }//w ww  . j  a va2 s.  co m
    }
    Criteria criteria = session.createCriteria(getPersistentUserClass());
    criteria.createAlias("tenant", "tenant", Criteria.LEFT_JOIN);

    if (internalTenantIds == null) {
        criteria.add(Restrictions.eq("tenant.tenantId", TenantService.ORGANIZATIONS));
    } else {
        if (!internalTenantIds.isEmpty()) {
            criteria.add(Restrictions.in("tenant.tenantId", internalTenantIds));
        }
    }

    if (name != null) {
        name = databaseCharactersEscapeResolver.getEscapedText(name.trim());
        if (name.length() > 0) {
            //                Criterion userNameCriterion = Restrictions.ilike("username", "%" + name + "%");
            //                Criterion fullNameCriterion = Restrictions.ilike("fullName", "%" + name + "%");

            Criterion userNameCriterion = new IlikeEscapeAwareExpression("username", name, MatchMode.ANYWHERE);
            Criterion fullNameCriterion = new IlikeEscapeAwareExpression("fullName", name, MatchMode.ANYWHERE);

            criteria.add(Restrictions.or(userNameCriterion, fullNameCriterion));
        }
    }

    if (order) {
        criteria.addOrder(Order.asc("username"));
        criteria.addOrder(Order.asc("tenant.tenantId"));
    }

    return criteria;
}

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

License:Open Source License

protected DetachedCriteria createAvailableRolesCriteria(String roleName, Set userRoles, String userName,
        boolean order) {

    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentRoleClass());
    String roleNameField = "roleName";
    String externallyDefinedField = "externallyDefined";

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

        List userRoleIdList = getRoleIdList(userRoles);
        criteria.add(Restrictions.not(Restrictions.in("id", userRoleIdList)));
    }/*from www.j  a va 2s.com*/

    Criterion roleNameCriterion = Restrictions.ilike(roleNameField, "%" + roleName.trim() + "%");
    criteria.add(roleNameCriterion);

    criteria.add(Restrictions.eq(externallyDefinedField, Boolean.FALSE));

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

    return criteria;
}

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 {//from  w  w w.ja  v a2  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

protected DetachedCriteria createAvailableRolesCriteria(ExecutionContext context, String userName, String text,
        boolean order) {
    final String roleNameField = "roleName";
    final String externallyDefinedField = "externallyDefined";

    RepoUser user = getRepoUser(context, userName);

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

    List<Long> assignedRolesIds = getUserRolesIds(user);
    if (assignedRolesIds != null && assignedRolesIds.size() > 0) {
        criteria.add(Restrictions.not(Restrictions.in("id", assignedRolesIds)));
    }/*from www  .j  av a 2 s.  com*/

    final String roleNameLikeValue = text == null ? "" : text;
    Criterion roleNameCriterion = Restrictions.ilike(roleNameField, "%" + roleNameLikeValue + "%");
    criteria.add(roleNameCriterion);

    criteria.add(Restrictions.eq(externallyDefinedField, Boolean.FALSE));

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

    return criteria;
}

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)));
    }/*from www.  j  a  va  2s  . c om*/

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

    return criteria;
}