List of usage examples for org.hibernate.criterion DetachedCriteria createAlias
public DetachedCriteria createAlias(String associationPath, String alias)
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); }