Example usage for org.hibernate.criterion DetachedCriteria addOrder

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

Introduction

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

Prototype

public DetachedCriteria addOrder(Order order) 

Source Link

Document

Adds an ordering

Usage

From source file:org.encuestame.persistence.dao.imp.CommentDao.java

License:Apache License

@SuppressWarnings("unchecked")
public List<Comment> getCommentsbPoll(final Poll poll, final Integer maxResults, final Integer start) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(Comment.class);
    criteria.add(Restrictions.eq("poll", poll));
    criteria.addOrder(Order.desc("likeVote"));
    return (List<Comment>) filterByMaxorStart(criteria, maxResults, start);
}

From source file:org.encuestame.persistence.dao.imp.CommentDao.java

License:Apache License

@SuppressWarnings("unchecked")
public List<Comment> getTopRatedComments(final CommentsSocialOptions socialOption, final Integer timeRange,
        final Integer maxResults, final Integer startResults) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(Comment.class);
    log.debug("getTopRatedComments start date " + getCommentTimeRange(timeRange));
    log.debug("getTopRatedComments end date " + getNextDayMidnightDate());
    criteria.add(Restrictions.between("createdAt", getCommentTimeRange(timeRange), getNextDayMidnightDate()));
    if (socialOption != null) {
        if (socialOption.equals(CommentsSocialOptions.LIKE)) {
            criteria.addOrder(Order.desc("likeVote"));
        } else if (socialOption.equals(CommentsSocialOptions.DISLIKE)) {
            criteria.addOrder(Order.desc("dislikeVote"));
        } else {/*from   w  ww .j  a v a 2s  . c o m*/
            criteria.addOrder(Order.desc("likeVote"));
        }
    } else {
        criteria.addOrder(Order.desc("likeVote"));
    }
    return (List<Comment>) filterByMaxorStart(criteria, maxResults, startResults);
}

From source file:org.encuestame.persistence.dao.imp.DashboardDao.java

License:Apache License

@SuppressWarnings("unchecked")
public List<Dashboard> retrieveDashboardsbyUser(final UserAccount userAcc, final Integer maxResults,
        final Integer start) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(Dashboard.class);
    criteria.add(Restrictions.eq("userBoard", userAcc));
    criteria.addOrder(Order.desc("boardSequence"));
    return (List<Dashboard>) filterByMaxorStart(criteria, maxResults, start);
}

From source file:org.encuestame.persistence.dao.imp.FrontEndDao.java

License:Apache License

/**
 * Get TweetPoll Front End./*from   w  w w .j  a  v a2 s. c o  m*/
 * @param period date period
 * @param firstResult first results
 * @param maxResults max results
 * @return list of tweetPoll.
 */
@SuppressWarnings("unchecked")
public final List<TweetPoll> getTweetPollFrontEnd(final SearchPeriods period, final Integer start,
        final Integer maxResults, final Integer firstResult) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(TweetPoll.class);
    criteria.createAlias("question", "question");
    calculateSearchPeriodsDates(period, criteria, "createDate");
    criteria.add(Restrictions.eq("publishTweetPoll", Boolean.TRUE)); //should be published
    criteria.add(Restrictions.gt("relevance", 0L));
    criteria.addOrder(Order.desc("relevance"));
    criteria.addOrder(Order.desc("createDate"));
    return (List<TweetPoll>) filterByMaxorStart(criteria, maxResults, start);
    //return getHibernateTemplate().findByCriteria(criteria, firstResult, maxResults);
}

From source file:org.encuestame.persistence.dao.imp.FrontEndDao.java

License:Apache License

/**
 * Get Poll on Front End//  w w w  . ja  va  2  s.c  o m
 * @param period period
 * @param maxResults maxResults
 * @param firstResult firstResults.
 * @return list of poll.
 */
@SuppressWarnings("unchecked")
public final List<Poll> getPollFrontEnd(final SearchPeriods period, final Integer start,
        final Integer maxResults, final Integer firstResult) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(Poll.class);
    criteria.createAlias("question", "question");
    calculateSearchPeriodsDates(period, criteria, "createDate");
    criteria.add(Restrictions.gt("relevance", 0L));
    criteria.add(Restrictions.eq("publish", Boolean.TRUE)); //should be published
    criteria.add(Restrictions.or(Restrictions.eq("isHidden", Boolean.FALSE), Restrictions.isNull("isHidden")));
    criteria.add(Restrictions.isNotNull("isPasswordProtected"));
    criteria.add(Restrictions.isNull("passProtection"));
    //criteria.add(Restrictions.isEmpty("passProtection"));
    criteria.addOrder(Order.desc("createDate"));
    criteria.addOrder(Order.desc("relevance"));
    List<Poll> polls = (List<Poll>) filterByMaxorStart(criteria, maxResults, start);
    return polls;
}

From source file:org.encuestame.persistence.dao.imp.FrontEndDao.java

License:Apache License

@SuppressWarnings("unchecked")
public final List<Survey> getSurveyFrontEnd(final SearchPeriods period, final Integer start,
        final Integer maxResults, final Integer firstResult) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(Survey.class);
    //criteria.createAlias("question", "question");
    // TODO: Complete method, adding criteria params

    calculateSearchPeriodsDates(period, criteria, "createDate");
    criteria.add(Restrictions.gt("relevance", 0L));
    criteria.addOrder(Order.desc("relevance"));
    criteria.addOrder(Order.desc("createDate"));
    return (List<Survey>) filterByMaxorStart(criteria, maxResults, start);
}

From source file:org.encuestame.persistence.dao.imp.FrontEndDao.java

License:Apache License

@SuppressWarnings("unchecked")
public List<Hit> getHashTagHitsbyDateRange(final Long tagId, final Integer period) {
    Date startDate = null;/*from   www . j a v a 2  s  .  co  m*/
    Date endDate = null;
    if (period != null) {
        final Calendar hi = Calendar.getInstance();
        hi.add(Calendar.DAY_OF_YEAR, -period);
        startDate = hi.getTime();
        endDate = Calendar.getInstance().getTime();

    }

    final DetachedCriteria criteria = DetachedCriteria.forClass(Hit.class);
    criteria.createAlias("hashTag", "hashTag");
    criteria.add(Restrictions.eq("hashTag.hashTagId", tagId));
    criteria.addOrder(Order.desc("hitDate"));
    criteria.add(Restrictions.between("hitDate", startDate, endDate));
    //define as a VISIT category
    criteria.add(Restrictions.eq("hitCategory", HitCategory.VISIT));
    return (List<Hit>) getHibernateTemplate().findByCriteria(criteria);

}

From source file:org.encuestame.persistence.dao.imp.FrontEndDao.java

License:Apache License

@SuppressWarnings("unchecked")
public List<Hit> getHashTagHitsRange(final Long tagId, final SearchPeriods period) {

    final DetachedCriteria criteria = DetachedCriteria.forClass(Hit.class);
    criteria.createAlias("hashTag", "hashTag");
    criteria.add(Restrictions.eq("hashTag.hashTagId", tagId));
    criteria.addOrder(Order.desc("hitDate"));

    // define as a VISIT category
    criteria.add(Restrictions.eq("hitCategory", HitCategory.VISIT));

    ProjectionList projList = Projections.projectionList();
    projList.add(Projections.groupProperty("hitDate"));

    projList.add(Projections.rowCount());
    criteria.setProjection(projList);// ww  w  .j a va 2 s  .  c om
    return (List<Hit>) getHibernateTemplate().findByCriteria(criteria);

}

From source file:org.encuestame.persistence.dao.imp.FrontEndDao.java

License:Apache License

@SuppressWarnings("unchecked")
public List<TweetPollSavedPublishedStatus> getLinksByHomeItem(final HashTag hashTag,
        final UserAccount userAccount, final TweetPoll tweetPoll, final Survey survey, final Poll poll,
        final TypeSearchResult itemType, final SearchPeriods searchPeriods, final Integer start,
        final Integer max, final List<TweetPoll> tpollsByHashTag, final List<Poll> pollsByHashtag) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(TweetPollSavedPublishedStatus.class);
    // define if is necessary execute a query, if not exist filters it's not necessary run a query
    boolean queryRequired = false;
    List<TweetPollSavedPublishedStatus> tweetPollSavedPublishedStatus = ListUtils.EMPTY_LIST;
    if (itemType.equals(TypeSearchResult.TWEETPOLL)) {
        criteria.add(Restrictions.eq("tweetPoll", tweetPoll));
        queryRequired = true;/*from  www .j  ava2 s .c o  m*/
    } else if (itemType.equals(TypeSearchResult.SURVEY)) {
        criteria.add(Restrictions.eq("survey", survey));
        queryRequired = true;
    } else if (itemType.equals(TypeSearchResult.POLL)) {
        criteria.add(Restrictions.eq("poll", poll));
        queryRequired = true;
    } else if (itemType.equals(TypeSearchResult.HASHTAG)) {
        // FUTURE: We need include Surveys by Hashtag
        // include on the query all published items by tweetpoll
        if (tpollsByHashTag.size() != 0) {
            criteria.add(Restrictions.in("tweetPoll", tpollsByHashTag));
            queryRequired = true;
        }
        // include on the query all published items by poll
        if (pollsByHashtag.size() != 0) {
            criteria.add(Restrictions.in("poll", pollsByHashtag));
            queryRequired = true;
        }
        //BUG: We have a serial problem here, if poll and tweetpoll are null the criteria retrieve ALL items. ENCUESTAME-490
    } else if (itemType.equals(TypeSearchResult.PROFILE)) {
        //TODO: future
        //return ListUtils.EMPTY_LIST;
        //queryRequired = true;
    } else {
        log.error("Item type not valid: " + itemType);
    }
    criteria.addOrder(Order.desc("publicationDateTweet"));
    //FIXME: why this line are commented?
    //criteria.add(Restrictions.isNotNull("apiType"));
    //criteria.add(Restrictions.isNotNull("tweetId"));
    criteria.add(Restrictions.eq("status", Status.SUCCESS));
    // if exist filters, we execute a query
    if (queryRequired) {
        tweetPollSavedPublishedStatus = (List<TweetPollSavedPublishedStatus>) getHibernateTemplate()
                .findByCriteria(criteria, start, max);
    }
    return tweetPollSavedPublishedStatus;
}

From source file:org.encuestame.persistence.dao.imp.HashTagDao.java

License:Apache License

@SuppressWarnings("unchecked")
public List<HashTag> getHashTags(final Integer maxResults, final Integer start, final String tagCriteria) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(HashTag.class);
    // TODO: please replace "hashTagsCloud" by ENUM.
    if (tagCriteria.equals("hashTagsCloud")) {
        criteria.add(Restrictions.gt("size", MIN_SIZE_CLOUD));
        // TODO: date?
        // criteria.add(Restrictions.gl("updatedDate",
        // getCurrentdMidnightDate()));
        criteria.addOrder(Order.desc("size"));
        criteria.addOrder(Order.asc("hashTag"));
    } else {//w  ww .jav  a2  s.  co m
        criteria.addOrder(Order.desc("hits"));
        criteria.addOrder(Order.asc("hashTag"));
    }
    return (List<HashTag>) filterByMaxorStart(criteria, maxResults, start);
}