Example usage for org.hibernate.criterion DetachedCriteria createAlias

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

Introduction

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

Prototype

public DetachedCriteria createAlias(String associationPath, String alias) 

Source Link

Document

Creates an association path alias within this DetachedCriteria.

Usage

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

License:Open Source License

public Page<Article> find(Page<Article> page, Article article) {
    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.eq("category.parent.id", category.getId()),
                    Restrictions.like("category.parentIds", "%," + category.getId() + ",%")));
            dc.add(Restrictions.eq("category.site.id", category.getSite().getId()));
            article.setCategory(category);
        } else {//  w  w  w . jav a2 s  .  c  o  m
            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.getThumb()) && "1".equals(article.getThumb())) {
        dc.add(Restrictions.and(Restrictions.isNotNull("thumb"), Restrictions.ne("thumb", "")));
    }
    if (article.getUser() != null && article.getUser().getId() > 0) {
        dc.add(Restrictions.eq("user.id", article.getUser().getId()));
    }
    dc.add(Restrictions.eq("status", article.getStatus()));
    dc.addOrder(Order.desc("weight"));
    dc.addOrder(Order.desc("updateDate"));
    return articleDao.find(page, dc);
}

From source file:com.aistor.modules.cms.service.CategoryService.java

License:Open Source License

public Page<Category> find(Page<Category> page, Category category) {
    DetachedCriteria dc = categoryDao.createDetachedCriteria();
    if (category.getSite() != null && category.getSite().getId() != null) {
        dc.createAlias("site", "site");
        dc.add(Restrictions.eq("site.id", category.getSite().getId()));
    }//www .j a v a  2 s  .c o m
    if (category.getParent() != null && category.getParent().getId() != null) {
        dc.createAlias("parent", "parent");
        dc.add(Restrictions.eq("parent.id", category.getParent().getId()));
    }
    if (StringUtils.isNotBlank(category.getInMenu())) {
        dc.add(Restrictions.eq("inMenu", category.getInMenu()));
    }
    dc.add(Restrictions.eq("delFlag", Category.DEL_FLAG_NORMAL));
    dc.addOrder(Order.asc("site.id")).addOrder(Order.asc("sort"));
    return categoryDao.find(page, dc);
    //      page.setSpringPage(categoryDao.findByParentId(category.getParent().getId(), page.getSpringPage()));
    //      return page;
}

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

License:Open Source License

public Page<Link> find(Page<Link> page, Link link) {
    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.eq("category.parent.id", category.getId()),
                    Restrictions.like("category.parentIds", "%," + category.getId() + ",%")));
            dc.add(Restrictions.eq("category.site.id", category.getSite().getId()));
            link.setCategory(category);/*from  www. ja v  a2  s.c om*/
        } 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.getUser() != null && link.getUser().getId() > 0) {
        dc.add(Restrictions.eq("user.id", link.getUser().getId()));
    }
    dc.add(Restrictions.eq("status", link.getStatus()));
    dc.addOrder(Order.desc("weight"));
    dc.addOrder(Order.desc("updateDate"));
    return linkDao.find(page, dc);
}

From source file:com.aistor.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();
    if (!currentUser.isAdmin()) {
        if (user.getArea() == null || user.getArea().getId() == null) {
            user.setArea(currentUser.getArea());
        }//w  ww  .j  a v  a 2s  .  co m
        if (user.getOffice() == null || user.getOffice().getId() == null) {
            user.setOffice(currentUser.getOffice());
        }
    }
    dc.createAlias("area", "area");
    if (user.getArea() != null && user.getArea().getId() != null) {
        dc.add(Restrictions.or(Restrictions.eq("area.id", user.getArea().getId()),
                Restrictions.eq("area.parent.id", user.getArea().getId()),
                Restrictions.like("area.parentIds", "%," + user.getArea().getId() + ",%")));
    }
    dc.createAlias("office", "office");
    if (user.getOffice() != null && user.getOffice().getId() != null) {
        dc.add(Restrictions.or(Restrictions.eq("office.id", user.getOffice().getId()),
                Restrictions.eq("office.parent.id", user.getOffice().getId()),
                Restrictions.like("office.parentIds", "%," + user.getOffice().getId() + ",%")));
    }
    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("delFlag", User.DEL_FLAG_NORMAL));
    if (!StringUtils.isNotEmpty(page.getOrderBy())) {
        dc.addOrder(Order.asc("area.code")).addOrder(Order.asc("office.code"));
    }
    return userDao.find(page, dc);
}

From source file:com.benfante.minimark.blo.AssessmentBo.java

License:Apache License

/**
 * Find assessments.//from w  w w.ja v  a2 s.co  m
 *
 * @param active If true, map only active assessments. null, any value.
 * @param showInHomePage If true, map only assessments that must be shown in the home page. null, any value.
 * @param username map only the assessments of this user. null, any user.
 *
 * @return The map of courses on assessments
 */
public List<Assessment> searchAssessments(Boolean active, Boolean showInHomePage, String username) {
    DetachedCriteria crit = DetachedCriteria.forClass(Assessment.class);
    if (active != null) {
        crit.add(Restrictions.eq("active", active));
    }
    if (showInHomePage != null) {
        crit.add(Restrictions.eq("showInHomePage", showInHomePage));
    }
    if (username != null) {
        crit.createAlias("course.courseTeachers", "courseTeachers");
        crit.createAlias("courseTeachers.userProfile.user", "user");
        crit.add(Restrictions.eq("user.username", username));
    }
    List<Assessment> assessments = assessmentDao.searchByCriteria(crit);
    return assessments;
}

From source file:com.benfante.minimark.blo.AssessmentFillingBo.java

License:Apache License

/**
 * Retrieve all fillings of active assessments.
 *
 * @return The list of fillings of active assesments.
 *///from  w ww  .j  a  v a  2s . com
public List<AssessmentFilling> searchActiveFillings() {
    DetachedCriteria crit = DetachedCriteria.forClass(AssessmentFilling.class);
    crit.createAlias("assessment", "assessment");
    crit.add(Restrictions.eq("assessment.active", Boolean.TRUE));
    List<AssessmentFilling> result = assessmentFillingDao.searchByCriteria(crit);
    Collections.sort(result, new AssessmentFillingStatusComparator());
    return filterByAuthorization(result);
}

From source file:com.benfante.minimark.blo.AssessmentFillingBo.java

License:Apache License

/**
 * Retrieve all fillings of active assessments.
 *
 * @return The list of fillings of active assesments.
 *///ww w.  j  a v  a  2  s .c  o  m
public List<AssessmentFilling> searchActiveFillingsByCourse(Long courseId) {
    DetachedCriteria crit = DetachedCriteria.forClass(AssessmentFilling.class);
    crit.createAlias("assessment", "assessment");
    crit.add(Restrictions.eq("assessment.active", Boolean.TRUE));
    crit.createAlias("assessment.course", "course");
    crit.add(Restrictions.eq("course.id", courseId));
    List<AssessmentFilling> result = assessmentFillingDao.searchByCriteria(crit);
    Collections.sort(result, new AssessmentFillingStatusComparator());
    return filterByAuthorization(result);
}

From source file:com.benfante.minimark.blo.QuestionBo.java

License:Apache License

/**
 * Search questions by example./* w  w w . j  a va2 s . c o m*/
 * 
 * @param questionBean The values for searching questions.
 * @return The list of questions matching the questionBean values.
 */
public List<Question> search(QuestionBean questionBean) {
    DetachedCriteria crit = null;
    if (StringUtils.isBlank(questionBean.getType())) {
        crit = DetachedCriteria.forClass(Question.class);
    } else {
        if ("open".equals(questionBean.getType())) {
            crit = DetachedCriteria.forClass(OpenQuestion.class);
            if (StringUtils.isNotBlank(questionBean.getVisualization())) {
                crit.add(Restrictions.eq("visualization", questionBean.getVisualization()));
            }
        } else if ("closed".equals(questionBean.getType())) {
            crit = DetachedCriteria.forClass(ClosedQuestion.class);
        } else {
            throw new IllegalArgumentException("Unknown question type (" + questionBean.getType() + ")");
        }
    }
    if (StringUtils.isNotBlank(questionBean.getTitle())) {
        crit.add(Restrictions.ilike("title", questionBean.getTitle(), MatchMode.ANYWHERE));
    }
    if (questionBean.getWeight() != null) {
        crit.add(Restrictions.eq("weight", questionBean.getWeight()));
    }
    if (questionBean.getCourse() != null && questionBean.getCourse().getId() != null) {
        crit.add(Restrictions.eq("course.id", questionBean.getCourse().getId()));
    }
    crit.addOrder(Order.asc("title"));
    crit.addOrder(Order.asc("content"));
    if (StringUtils.isNotBlank(questionBean.getTags())) {
        crit.createAlias("tags", "tags");
        crit.createAlias("tags.tag", "tag");
        crit.add(Restrictions.in("tag.name", questionBean.getTagList()));
    }
    crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    return questionDao.searchByCriteria(crit);
}

From source file:com.cimmyt.model.dao.impl.ShipmentSetsDAOImpl.java

License:Apache License

@Override
protected void buildCriteria(DetachedCriteria criteria, ShipmentSet filter) {
    if (filter.getComments() != null) {
        criteria.add(Restrictions.like("comments", "%" + filter.getComments() + "%"));
    }//from w  w  w . j a v  a 2 s.  co  m
    if (filter.getStInvestigator() != null && filter.getStInvestigator().getInvest_name() != null
            && !filter.getStInvestigator().getInvest_name().isEmpty()) {
        criteria.createAlias("stInvestigator", "invest");
        criteria.add(Restrictions.like("invest.invest_name",
                "%" + filter.getStInvestigator().getInvest_name() + "%"));
    }
}

From source file:com.ephesoft.dcma.da.dao.BatchClassEmailConfigDaoImpl.java

License:Open Source License

/**
 * An api to get all the batch class email configs.
 * /*from   w w  w  . j  av a  2 s  .c o  m*/
 * @return List<BatchClassEmailConfiguration>
 */
@Override
public List<BatchClassEmailConfiguration> getAllEmailConfigs() {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
    criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false)));
    return find(criteria);
}