Example usage for org.hibernate.criterion DetachedCriteria forClass

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

Introduction

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

Prototype

public static DetachedCriteria forClass(Class clazz) 

Source Link

Document

Static builder to create a DetachedCriteria for the given entity, by its Class.

Usage

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();
    }/*from  w  w w.  jav  a  2  s  .c o  m*/

    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

private DetachedCriteria createUserSearchCriteria(String username, RepoTenant tenant, boolean isCaseSensitive) {
    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentUserClass());

    criteria.add(/*from  w  w  w .  j  a va2s .co m*/
            isCaseSensitive ? Restrictions.eq("username", username) : Restrictions.ilike("username", username));
    criteria.add(Restrictions.eq("tenant", tenant));
    criteria.getExecutableCriteria(getSession()).setCacheable(true);

    return criteria;
}

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

License:Open Source License

protected RepoRole getRepoRole(String roleName, String tenantId) {
    RepoTenant tenant = getPersistentTenant(tenantId, false);
    if (tenant == null && !isNullTenant(tenantId)) {
        //if the requested tenant was not found, return null
        if (log.isDebugEnabled()) {
            log.debug("Tenant " + tenantId + " not found, returning null role");
        }//from  ww  w.  j  av  a  2s  .  co  m
        return null;
    }

    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentRoleClass());
    if (tenant == null) {
        criteria.add(Restrictions.isNull("tenant")).add(Restrictions.eq("roleName", roleName));
    } else {
        criteria.add(Restrictions.naturalId().set("tenant", tenant).set("roleName", roleName));
    }
    List roleList = getHibernateTemplate().findByCriteria(criteria);
    RepoRole role = null;
    if (roleList.isEmpty()) {
        if (log.isDebugEnabled()) {
            log.debug("Role not found with role name \"" + roleName + "\""
                    + (tenantId == null ? "" : (", tenant \"" + tenantId + "\"")));
        }
    } else {
        role = (RepoRole) roleList.get(0);
    }
    return role;
}

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

License:Open Source License

protected DetachedCriteria createTenantVisibleRolesCriteria(Set tenantIds, String name, boolean order) {
    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentRoleClass());
    String roleNameField = "roleName";

    addVisibleTenantCriteria(criteria, tenantIds);

    if (name != null) {
        name = databaseCharactersEscapeResolver.getEscapedText(name.trim());

        if (name.length() > 0) {
            //                Criterion roleNameCriterion = Restrictions.ilike(roleNameField, "%"
            //                        + name.trim() + "%");
            //                criteria.add(roleNameCriterion);
            criteria.add(new IlikeEscapeAwareExpression(roleNameField, name, MatchMode.ANYWHERE));
        }// ww  w  .  ja  va 2 s  .c  o m
    }

    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 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.jav a2 s.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  www. ja v a 2  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)));
    }/* w  ww  . j  a v  a2s .c om*/

    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

private DetachedCriteria createAssignedRolesCriteria(ExecutionContext context, RepoUser user, String text,
        boolean order) {
    final String roleNameField = "roleName";
    final String externallyDefinedField = "externallyDefined";

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

    DetachedCriteria usersCriteria = criteria.createCriteria("users");
    usersCriteria.add(Restrictions.idEq(user.getId()));

    final String roleNameLikeValue = text == null ? "" : text;
    Criterion roleNameCriterion = Restrictions.ilike(roleNameField, "%" + roleNameLikeValue + "%");
    criteria.add(roleNameCriterion);//from   w  w  w .ja  v a  2  s  .  c o m

    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)));
    }/* ww w. j  a v a2 s. com*/

    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);
}