Example usage for org.hibernate.criterion Restrictions or

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

Introduction

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

Prototype

public static LogicalExpression or(Criterion lhs, Criterion rhs) 

Source Link

Document

Return the disjuction of two expressions

Usage

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

License:Open Source License

public Page<User> findUser(Page<User> page, User user) {
    DetachedCriteria dc = userDao.createDetachedCriteria();
    User currentUser = UserUtils.getUser();
    dc.createAlias("company", "company");
    if (user.getCompany() != null && user.getCompany().getId() != null) {
        dc.add(Restrictions.or(Restrictions.eq("company.id", user.getCompany().getId()),
                Restrictions.like("company.parentIds", "%," + user.getCompany().getId() + ",%")));
    }/*w  w w.  ja  v a2s  .  c  o  m*/
    dc.createAlias("office", "office");
    if (user.getOffice() != null && user.getOffice().getId() != null) {
        dc.add(Restrictions.or(Restrictions.eq("office.id", user.getOffice().getId()),
                Restrictions.like("office.parentIds", "%," + user.getOffice().getId() + ",%")));
    }
    // ????
    if (!currentUser.isAdmin()) {
        dc.add(Restrictions.ne("id", 1L));
    }
    dc.add(dataScopeFilter(currentUser, "office", ""));
    //System.out.println(dataScopeFilterString(currentUser, "office", ""));
    if (StringUtils.isNotEmpty(user.getLoginName())) {
        dc.add(Restrictions.like("loginName", "%" + EscapeUtil.escapeLike(user.getLoginName()) + "%"));
    }
    if (StringUtils.isNotEmpty(user.getName())) {
        dc.add(Restrictions.like("name", "%" + EscapeUtil.escapeLike(user.getName()) + "%"));
    }
    dc.add(Restrictions.eq(User.DEL_FLAG, User.DEL_FLAG_NORMAL));
    //      if (!StringUtils.isNotEmpty(page.getOrderBy())){
    //         dc.addOrder(Order.asc("company.code")).addOrder(Order.asc("office.code")).addOrder(Order.desc("id"));
    //      }
    return userDao.find(page, dc);
}

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

License:Open Source License

public void applyOr(FilterElement lhs, FilterElement rhs) {
    HibernateFilter lhsFilter = new HibernateFilter(null, referenceResolver);
    lhs.apply(lhsFilter);//w  ww  .  j ava2s . c om
    HibernateFilter rhsFilter = new HibernateFilter(null, referenceResolver);
    rhs.apply(rhsFilter);
    LogicalExpression or = Restrictions.or(lhsFilter.last(), rhsFilter.last());
    add(or);
}

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

License:Open Source License

protected Criterion ancestorFolderRestriction(String folderURI) {
    if (Folder.SEPARATOR.equals(folderURI)) {
        return null;
    }// www.j  a  v a2  s. c o  m

    return Restrictions.or(
            folderURI.indexOf("%") == -1 ? Restrictions.eq("parent.URI", folderURI)
                    : Restrictions.like("parent.URI", folderURI),
            Restrictions.like("parent.URI", folderURI + "/%"));
}

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

License:Open Source License

@Transactional(propagation = Propagation.REQUIRED)
public int getFoldersCount(final String parentURI) {
    return (Integer) executeCallback(new DaoCallback() {
        public Object execute() {
            DetachedCriteria criteria = DetachedCriteria.forClass(RepoFolder.class);
            criteria.add(Restrictions.eq("hidden", Boolean.FALSE));
            criteria.setProjection(Projections.rowCount());
            if (parentURI != null && !Folder.SEPARATOR.equals(parentURI)) {
                criteria.add(Restrictions.or(
                        (parentURI.contains("%")) ? Restrictions.eq("URI", parentURI)
                                : Restrictions.like("URI", parentURI),
                        Restrictions.like("URI", parentURI + "/%")));
            }/*from  w w w .ja  v a 2  s . com*/
            return new BasicTransformer().transformToCount(getHibernateTemplate().findByCriteria(criteria));
        }
    });
}

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

License:Open Source License

protected List loadAllSubfolders(ExecutionContext context, String parentURI) {
    DetachedCriteria criteria = DetachedCriteria.forClass(RepoFolder.class);
    criteria.add(Restrictions.eq("hidden", Boolean.FALSE));

    if (parentURI != null && !Folder.SEPARATOR.equals(parentURI)) {
        criteria.add(Restrictions.or((parentURI.indexOf("%") == -1) ? Restrictions.eq("URI", parentURI)
                : Restrictions.like("URI", parentURI), Restrictions.like("URI", parentURI + "/%")));
    }/*  w  w w  .  jav a 2 s .co  m*/

    criteria.getExecutableCriteria(getSession()).setCacheable(true);
    List repoFolders = getHibernateTemplate().findByCriteria(criteria);
    List folders = new ArrayList(repoFolders.size());
    for (Iterator iter = repoFolders.iterator(); iter.hasNext();) {
        RepoFolder repoFolder = (RepoFolder) iter.next();
        Folder folder = repoFolder.toClient();
        folders.add(folder);
    }

    SortingUtils.sortFoldersByURI(getCollator(context), folders);

    return folders;
}

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

License:Open Source License

private int createNumberOfUsersOrRolesCriteria(String tenantId, Class aClass) {
    Integer rowCount = 0;/*from  w w  w.j a  va  2  s . co  m*/

    RepoTenant tenant = getRepoTenant(tenantId, false);
    if (tenant != null) {
        DetachedCriteria criteria = DetachedCriteria.forClass(aClass);
        criteria.createAlias("tenant", "t");

        criteria.add(Restrictions.or(Restrictions.eq("t.tenantUri", tenant.getTenantUri()), Restrictions
                .like("t.tenantUri", tenant.getTenantUri().equals("/") ? "/%" : tenant.getTenantUri() + "/%")));

        criteria.setProjection(Projections.count("id"));
        criteria.getExecutableCriteria(getSession()).setCacheable(true);

        List results = getHibernateTemplate().findByCriteria(criteria);
        if (results != null && !results.isEmpty()) {

            rowCount = (Integer) results.get(0);
        }
    }

    return rowCount;
}

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 w w . ja  v a2s  . c o  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 void createSearchByUserNameCriteria(DetachedCriteria criteria, String userName) {

    if (userName != null && userName.trim().length() > 0) {

        Criterion userNameCriterion = Restrictions.ilike("username", "%" + userName.trim() + "%");
        Criterion fullNameCriterion = Restrictions.ilike("fullName", "%" + userName.trim() + "%");

        criteria.add(Restrictions.or(userNameCriterion, fullNameCriterion));
    }//from ww  w . ja  v a  2  s .co  m
}

From source file:com.jaspersoft.jasperserver.search.filter.FolderFilter.java

License:Open Source License

protected void addSearchModeFolderRestrictions(SearchCriteria criteria, String folderUri, String alias) {
    criteria.add(Restrictions.or(Restrictions.like(alias + ".URI", createSubFoldersLikeUri(folderUri)),
            Restrictions.eq(alias + ".URI", folderUri)));
}

From source file:com.jaspersoft.jasperserver.search.filter.HiddenFilter.java

License:Open Source License

@Override
public void applyRestrictions(String type, ExecutionContext context, SearchCriteria criteria) {
    RepositorySearchCriteria searchCriteria = getTypedAttribute(context, RepositorySearchCriteria.class);

    if (searchCriteria == null || !searchCriteria.isShowHidden()) {
        String p = criteria.getAlias("parent", "p");
        criteria.add(Restrictions.eq(p + ".hidden", Boolean.FALSE));

        if (Folder.class.getName().equals(type)) {
            criteria.add(Restrictions.eq("hidden", Boolean.FALSE));
        }/*w  ww.j  av a2 s  .c o m*/

        if (ResourceLookup.class.getName().equals(type)) {
            criteria.add(
                    Restrictions.or(Restrictions.isNull("hidden"), Restrictions.eq("hidden", Boolean.FALSE)));
        }
    }
}