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.benfante.minimark.blo.AssessmentBo.java

License:Apache License

/**
 * Find assessments.//  w ww  .  j a  v a 2s.  c  om
 *
 * @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  w  w  .  ja  v  a2  s . c o m*/
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.
 *///from   w  w w  .  j  a  v a2 s .com
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./*from ww w . j a  v  a 2  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.benfante.minimark.blo.UserProfileBo.java

License:Apache License

/**
 * Search all users associated with at least one course.
 *
 * @return The list of all teachers//  www  .  j  av  a  2  s .  c  om
 */
public List<UserProfile> searchAllTeachers() {
    DetachedCriteria crit = DetachedCriteria.forClass(UserProfile.class);
    crit.add(Restrictions.isNotEmpty("courseTeachers"));
    crit.addOrder(Order.asc("name"));
    return userProfileDao.searchByCriteria(crit);
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

@Override
public List<ChasePlan> getOutNumStopChasePlan(boolean outNumStop, I issueData) {
    DetachedCriteria criteria = DetachedCriteria.forClass(ChasePlan.class);
    if (outNumStop) {
        criteria.add(Restrictions.eq("outNumStop", outNumStop));
    }/*  ww  w  . j  av  a  2s .c  om*/
    criteria.add(Restrictions.eq("lotteryType", this.getLottery()));
    // criteria.add(Restrictions.ge("curPeriodId",
    // Long.valueOf(issueData.getPeriodNumber())));
    criteria.add(Restrictions.eq("state", ChaseState.RUNNING));
    List<ChasePlan> list = queryService.findByDetachedCriteria(criteria);
    return list;
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * ?/*from  www. ja va 2 s  .c  om*/
 */
@Override
public void doChasePlan(long curPeriodId, Boolean iswonStop) {
    DetachedCriteria criteria = DetachedCriteria.forClass(ChasePlan.class);
    criteria.setProjection(Projections.property("id"));
    if (iswonStop != null)
        criteria.add(Restrictions.eq("wonStop", iswonStop));
    criteria.add(Restrictions.eq("lotteryType", getLottery()));
    criteria.add(Restrictions.eq("curPeriodId", curPeriodId));
    criteria.add(Restrictions.eq("state", ChaseState.RUNNING));
    List<Long> list = queryService.findByDetachedCriteria(criteria);
    if (list != null && !list.isEmpty()) {
        for (Long chasePlanId : list) {
            this.handChasePlan(chasePlanId);
        }
    }
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

@Transactional(readOnly = true)
public List<I> getCanOpenResults() {
    DetachedCriteria criteria = DetachedCriteria.forClass(issueDataDao.getEntityClass());
    criteria.add(Restrictions.lt("endedTime", new Date()));
    criteria.add(Restrictions.gt("endedTime", DateUtils.addDays(new Date(), -1)));
    criteria.add(Restrictions.eq("state", IssueState.ISSUE_SATE_END));
    criteria.addOrder(Order.desc("id"));
    return issueDataDao.findByDetachedCriteria(criteria, true);
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

@Transactional(readOnly = true)
public S getLastChaseScheme(long chaseId) {
    DetachedCriteria detachedCriteria = DetachedCriteria.forClass(this.schemeDao.getEntityClass());
    detachedCriteria.add(Restrictions.eq("chaseId", chaseId));
    detachedCriteria.addOrder(Order.desc("id"));
    List<S> schemeList = this.schemeDao.findByDetachedCriteria(detachedCriteria, 0, 1, true);
    if (schemeList != null && schemeList.size() > 0) {
        return schemeList.get(0);
    }/*from w w w.  ja v a  2s.  c o m*/
    return null;
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<Subscription> findSubscriptionsOfScheme(final long schemeId, final SubscriptionState state) {
    final S scheme = getScheme(schemeId);
    DetachedCriteria criteria = DetachedCriteria.forClass(Subscription.class);
    criteria.add(Restrictions.eq("schemeId", schemeId));
    criteria.add(Restrictions.eq("lotteryType", scheme.getLotteryType()));
    if (state != null) {
        criteria.add(Restrictions.eq("state", state));
    }//  ww  w . j  av a  2s  .c  o m
    return subscriptionDao.findByDetachedCriteria(criteria);
}