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.globalsight.everest.usermgr.UserManagerLocal.java

License:Apache License

/**
 * Get users matched the specified criteria
 * /*from   w  w  w.  j a va2s.c  o  m*/
 * @param p_userAttrs
 *            - Arrtibute array contains the User entry attributes
 * @param p_roleAttrs
 *            - Attribute array contains the Role entry attributes
 * @param p_project
 * @return a Vector of User objects
 * @exception UserManagerException
 *                - Component related exception.
 * @exception java.rmi.RemoteException
 *                - Network related exception.
 */
public Vector getUsers(UserSearchParams p_searchParams, Project p_project)
        throws RemoteException, UserManagerException {
    Session session = HibernateUtil.getSession();

    boolean filterUser = false;
    Vector<UserImpl> us = new Vector<UserImpl>();

    Criteria c = session.createCriteria(UserImpl.class);
    String userId = p_searchParams.getIdName();
    if (userId != null && userId.length() > 0) {
        filterUser = true;
        c.add(Restrictions.or(Restrictions.ilike("userId", "%" + userId + "%"),
                Restrictions.ilike("userName", "%" + userId + "%")));
    }

    String firstName = p_searchParams.getFirstName();
    if (firstName != null && firstName.length() > 0) {
        filterUser = true;
        c.add(Restrictions.eq("firstName", firstName));
    }

    String lastName = p_searchParams.getLastName();
    if (lastName != null && lastName.length() > 0) {
        filterUser = true;
        c.add(Restrictions.eq("lastName", lastName));
    }

    String email = p_searchParams.getEmail();
    if (email != null && email.length() > 0) {
        filterUser = true;
        c.add(Restrictions.eq("email", email));
    }

    if (filterUser) {
        us.addAll(c.list());
    }

    boolean filterRole = false;
    Criteria cc = session.createCriteria(ContainerRoleImpl.class);
    Criteria uc = session.createCriteria(UserRoleImpl.class);

    String sourceLocale = p_searchParams.getSourceLocaleParam();
    if (sourceLocale != null && sourceLocale.length() > 0) {
        filterRole = true;
        cc.add(Restrictions.eq("sourceLocale", sourceLocale));
        uc.add(Restrictions.eq("sourceLocale", sourceLocale));
    }

    String targetLocale = p_searchParams.getTargetLocaleParam();
    if (targetLocale != null && targetLocale.length() > 0) {
        filterRole = true;
        cc.add(Restrictions.eq("targetLocale", targetLocale));
        uc.add(Restrictions.eq("targetLocale", targetLocale));
    }

    if (filterRole) {
        List uids = new ArrayList();

        cc.add(Restrictions.eq("state", User.State.ACTIVE));
        uc.add(Restrictions.eq("state", User.State.ACTIVE));

        List<ContainerRoleImpl> crs = cc.list();
        List<UserRoleImpl> urs = uc.list();

        for (ContainerRoleImpl cr : crs) {
            uids.addAll(cr.getUserIds());
        }

        for (UserRoleImpl ur : urs) {
            uids.add(ur.getUser());
        }

        if (uids.size() > 0) {
            c = session.createCriteria(UserImpl.class);
            c.add(Restrictions.in("userId", uids));

            us.addAll(c.list());
        }
    }

    return us;
    //        return getUsers(p_userAttrs, p_roleAttrs, null, p_project);
}

From source file:com.green.modules.cms.service.ArticleService.java

License:Open Source License

@Transactional(readOnly = false)
public Page<Article> find(Page<Article> page, Article article, boolean isDataScopeFilter) {
    // ??6??//from   w  ww .  j  av  a2 s.co  m
    Date updateExpiredWeightDate = (Date) CacheUtils.get("updateExpiredWeightDateByArticle");
    if (updateExpiredWeightDate == null
            || (updateExpiredWeightDate != null && updateExpiredWeightDate.getTime() < new Date().getTime())) {
        articleDao.updateExpiredWeight();
        CacheUtils.put("updateExpiredWeightDateByArticle", DateUtils.addHours(new Date(), 6));
    }
    DetachedCriteria dc = articleDao.createDetachedCriteria();
    dc.createAlias("category", "category");
    dc.createAlias("category.site", "category.site");
    if (article.getCategory() != null && StringUtils.isNotBlank(article.getCategory().getId())
            && !Category.isRoot(article.getCategory().getId())) {
        Category category = categoryDao.get(article.getCategory().getId());
        if (category != null) {
            dc.add(Restrictions.or(Restrictions.eq("category.id", category.getId()),
                    Restrictions.like("category.parentIds", "%," + category.getId() + ",%")));
            dc.add(Restrictions.eq("category.site.id", category.getSite().getId()));
            article.setCategory(category);
        } else {
            dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId()));
        }
    } else {
        dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId()));
    }
    if (StringUtils.isNotEmpty(article.getTitle())) {
        dc.add(Restrictions.like("title", "%" + article.getTitle() + "%"));
    }
    if (StringUtils.isNotEmpty(article.getPosid())) {
        dc.add(Restrictions.like("posid", "%," + article.getPosid() + ",%"));
    }
    if (StringUtils.isNotEmpty(article.getImage()) && Article.YES.equals(article.getImage())) {
        dc.add(Restrictions.and(Restrictions.isNotNull("image"), Restrictions.ne("image", "")));
    }
    if (article.getCreateBy() != null && StringUtils.isNotBlank(article.getCreateBy().getId())) {
        dc.add(Restrictions.eq("createBy.id", article.getCreateBy().getId()));
    }
    if (isDataScopeFilter) {
        dc.createAlias("category.office", "categoryOffice").createAlias("createBy", "createBy");
        dc.add(dataScopeFilter(UserUtils.getUser(), "categoryOffice", "createBy"));
    }
    dc.add(Restrictions.eq(Article.FIELD_DEL_FLAG, article.getDelFlag()));
    if (StringUtils.isBlank(page.getOrderBy())) {
        dc.addOrder(Order.desc("weight"));
        dc.addOrder(Order.desc("updateDate"));
    }
    return articleDao.find(page, dc);
}

From source file:com.green.modules.cms.service.LinkService.java

License:Open Source License

@Transactional(readOnly = false)
public Page<Link> find(Page<Link> page, Link link, boolean isDataScopeFilter) {
    // ??6??/*from w w  w.  j a va2 s  .  c  o  m*/
    Date updateExpiredWeightDate = (Date) CacheUtils.get("updateExpiredWeightDateByLink");
    if (updateExpiredWeightDate == null
            || (updateExpiredWeightDate != null && updateExpiredWeightDate.getTime() < new Date().getTime())) {
        linkDao.updateExpiredWeight();
        CacheUtils.put("updateExpiredWeightDateByLink", DateUtils.addHours(new Date(), 6));
    }
    DetachedCriteria dc = linkDao.createDetachedCriteria();
    dc.createAlias("category", "category");
    dc.createAlias("category.site", "category.site");
    if (link.getCategory() != null && StringUtils.isNotBlank(link.getCategory().getId())
            && !Category.isRoot(link.getCategory().getId())) {
        Category category = categoryDao.get(link.getCategory().getId());
        if (category != null) {
            dc.add(Restrictions.or(Restrictions.eq("category.id", category.getId()),
                    Restrictions.like("category.parentIds", "%," + category.getId() + ",%")));
            dc.add(Restrictions.eq("category.site.id", category.getSite().getId()));
            link.setCategory(category);
        } else {
            dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId()));
        }
    } else {
        dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId()));
    }
    if (StringUtils.isNotEmpty(link.getTitle())) {
        dc.add(Restrictions.like("title", "%" + link.getTitle() + "%"));
    }
    if (link.getCreateBy() != null && StringUtils.isNotBlank(link.getCreateBy().getId())) {
        dc.add(Restrictions.eq("createBy.id", link.getCreateBy().getId()));
    }
    if (isDataScopeFilter) {
        dc.createAlias("category.office", "categoryOffice").createAlias("createBy", "createBy");
        dc.add(dataScopeFilter(UserUtils.getUser(), "categoryOffice", "createBy"));
    }
    dc.add(Restrictions.eq(Link.FIELD_DEL_FLAG, link.getDelFlag()));
    dc.addOrder(Order.desc("weight"));
    dc.addOrder(Order.desc("updateDate"));
    return linkDao.find(page, dc);
}

From source file:com.green.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 && StringUtils.isNotBlank(user.getCompany().getId())) {
        dc.add(Restrictions.or(Restrictions.eq("company.id", user.getCompany().getId()),
                Restrictions.like("company.parentIds", "%," + user.getCompany().getId() + ",%")));
    }// www .  j  a  va 2  s . c om
    dc.createAlias("office", "office");
    if (user.getOffice() != null && StringUtils.isNotBlank(user.getOffice().getId())) {
        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", "1"));
    }
    dc.add(dataScopeFilter(currentUser, "office", ""));
    //System.out.println(dataScopeFilterString(currentUser, "office", ""));
    if (StringUtils.isNotEmpty(user.getLoginName())) {
        dc.add(Restrictions.like("loginName", "%" + user.getLoginName() + "%"));
    }
    if (StringUtils.isNotEmpty(user.getName())) {
        dc.add(Restrictions.like("name", "%" + user.getName() + "%"));
    }
    dc.add(Restrictions.eq(User.FIELD_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("name"));
    }
    return userDao.find(page, dc);
}

From source file:com.heimaide.server.service.sys.SystemService.java

License:Open Source License

public Page<User> findUser(Page<User> page, User user) {
    User currentUser = UserUtils.getUser();
    DetachedCriteria dc = userDao.createDetachedCriteria();

    dc.createAlias("company", "company");
    if (user.getCompany() != null && StringUtils.isNotBlank(user.getCompany().getId())) {
        dc.add(Restrictions.or(Restrictions.eq("company.id", user.getCompany().getId()),
                Restrictions.like("company.parentIds", "%," + user.getCompany().getId() + ",%")));
    }/* w  ww.  jav a  2  s  .  co  m*/

    dc.createAlias("office", "office");
    if (user.getOffice() != null && StringUtils.isNotBlank(user.getOffice().getId())) {
        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", "1"));
    }
    dc.add(dataScopeFilter(currentUser, "office", ""));

    if (StringUtils.isNotEmpty(user.getLoginName())) {
        dc.add(Restrictions.like("loginName", "%" + user.getLoginName() + "%"));
    }
    if (StringUtils.isNotEmpty(user.getName())) {
        dc.add(Restrictions.like("name", "%" + user.getName() + "%"));
    }

    if (!currentUser.isAdmin()) {
        dc.add(Restrictions.eq(User.FIELD_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("name"));
    }
    return userDao.find(page, dc);
}

From source file:com.hongqiang.shop.modules.cms.service.ArticleService.java

License:Open Source License

public Page<Article> find(Page<Article> page, Article article, boolean isDataScopeFilter) {
    // ??6??//from   w ww. j  ava2 s .c o m
    Date updateExpiredWeightDate = (Date) CacheUtils.get("updateExpiredWeightDateByArticle");
    if (updateExpiredWeightDate == null
            || (updateExpiredWeightDate != null && updateExpiredWeightDate.getTime() < new Date().getTime())) {
        articleDao.updateExpiredWeight();
        CacheUtils.put("updateExpiredWeightDateByArticle", DateUtils.addHours(new Date(), 6));
    }
    DetachedCriteria dc = articleDao.createDetachedCriteria();
    dc.createAlias("category", "category");
    dc.createAlias("category.site", "category.site");
    if (article.getCategory() != null && article.getCategory().getId() != null
            && !Category.isRoot(article.getCategory().getId())) {
        Category category = categoryDao.findOne(article.getCategory().getId());
        if (category != null) {
            dc.add(Restrictions.or(Restrictions.eq("category.id", category.getId()),
                    Restrictions.like("category.parentIds", "%," + category.getId() + ",%")));
            dc.add(Restrictions.eq("category.site.id", category.getSite().getId()));
            article.setCategory(category);
        } else {
            dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId()));
        }
    } else {
        dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId()));
    }
    if (StringUtils.isNotEmpty(article.getTitle())) {
        dc.add(Restrictions.like("title", "%" + article.getTitle() + "%"));
    }
    if (StringUtils.isNotEmpty(article.getPosid())) {
        dc.add(Restrictions.like("posid", "%," + article.getPosid() + ",%"));
    }
    if (StringUtils.isNotEmpty(article.getImage()) && Article.YES.equals(article.getImage())) {
        dc.add(Restrictions.and(Restrictions.isNotNull("image"), Restrictions.ne("image", "")));
    }
    if (article.getCreateBy() != null && article.getCreateBy().getId() > 0) {
        dc.add(Restrictions.eq("createBy.id", article.getCreateBy().getId()));
    }
    if (isDataScopeFilter) {
        dc.createAlias("category.office", "categoryOffice").createAlias("createBy", "createBy");
        dc.add(dataScopeFilter(UserUtils.getUser(), "categoryOffice", "createBy"));
    }
    dc.add(Restrictions.eq(Article.DEL_FLAG, article.getDelFlag()));
    if (StringUtils.isBlank(page.getOrderBy())) {
        dc.addOrder(Order.desc("weight"));
        dc.addOrder(Order.desc("updateDate"));
    }
    return articleDao.find(page, dc);
}

From source file:com.hongqiang.shop.modules.cms.service.LinkService.java

License:Open Source License

public Page<Link> find(Page<Link> page, Link link, boolean isDataScopeFilter) {
    // ??6??//from w  w w  .  j  a  v a  2 s.c o  m
    Date updateExpiredWeightDate = (Date) CacheUtils.get("updateExpiredWeightDateByLink");
    if (updateExpiredWeightDate == null
            || (updateExpiredWeightDate != null && updateExpiredWeightDate.getTime() < new Date().getTime())) {
        linkDao.updateExpiredWeight();
        CacheUtils.put("updateExpiredWeightDateByLink", DateUtils.addHours(new Date(), 6));
    }
    DetachedCriteria dc = linkDao.createDetachedCriteria();
    dc.createAlias("category", "category");
    dc.createAlias("category.site", "category.site");
    if (link.getCategory() != null && link.getCategory().getId() != null
            && !Category.isRoot(link.getCategory().getId())) {
        Category category = categoryDao.findOne(link.getCategory().getId());
        if (category != null) {
            dc.add(Restrictions.or(Restrictions.eq("category.id", category.getId()),
                    Restrictions.like("category.parentIds", "%," + category.getId() + ",%")));
            dc.add(Restrictions.eq("category.site.id", category.getSite().getId()));
            link.setCategory(category);
        } else {
            dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId()));
        }
    } else {
        dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId()));
    }
    if (StringUtils.isNotEmpty(link.getTitle())) {
        dc.add(Restrictions.like("title", "%" + link.getTitle() + "%"));
    }
    if (link.getCreateBy() != null && link.getCreateBy().getId() > 0) {
        dc.add(Restrictions.eq("createBy.id", link.getCreateBy().getId()));
    }
    if (isDataScopeFilter) {
        dc.createAlias("category.office", "categoryOffice").createAlias("createBy", "createBy");
        dc.add(dataScopeFilter(UserUtils.getUser(), "categoryOffice", "createBy"));
    }
    dc.add(Restrictions.eq(Link.DEL_FLAG, link.getDelFlag()));
    dc.addOrder(Order.desc("weight"));
    dc.addOrder(Order.desc("updateDate"));
    return linkDao.find(page, dc);
}

From source file:com.hongqiang.shop.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 va 2s  .  c  om*/
    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", "%" + user.getLoginName() + "%"));
    }
    if (StringUtils.isNotEmpty(user.getName())) {
        dc.add(Restrictions.like("name", "%" + 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.hypersocket.permissions.PermissionRepositoryImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true)/*from   ww  w  . j  a  v  a2  s  . com*/
public Long countRoles(final Realm realm, String searchPattern) {
    return getCount(Role.class, "name", searchPattern, new CriteriaConfiguration() {

        @Override
        public void configure(Criteria criteria) {
            criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
            criteria.add(Restrictions.eq("personalRole", false));
            criteria.add(Restrictions.eq("hidden", false));
            criteria.add(Restrictions.or(Restrictions.eq("realm", realm), Restrictions.isNull("realm")));
        }
    });
}

From source file:com.hypersocket.session.SessionRepositoryImpl.java

License:Open Source License

@Override
public Long getSessionCount(final Date startDate, final Date endDate, final boolean distinctUsers) {

    Criteria criteria = createCriteria(Session.class);

    criteria.add(Restrictions.or(
            Restrictions.and(Restrictions.ge("created", startDate), Restrictions.lt("created", endDate)),
            Restrictions.and(Restrictions.lt("created", startDate), Restrictions
                    .or(Restrictions.ge("signedOut", startDate), Restrictions.isNull("signedOut")))));

    criteria.add(Restrictions.eq("system", false));

    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);

    if (distinctUsers) {
        criteria.setProjection(Projections.countDistinct("principal"));
    } else {//from   www. j av a  2s .c  om
        criteria.setProjection(Projections.rowCount());
    }
    return (long) criteria.uniqueResult();
}