Example usage for org.hibernate.criterion DetachedCriteria setProjection

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

Introduction

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

Prototype

public DetachedCriteria setProjection(Projection projection) 

Source Link

Document

Set the projection to use.

Usage

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

License:Apache License

public Long getMaxPollLikeVotesbyUser(final Long userId, final Date dateFrom, final Date dateTo) {
    DetachedCriteria criteria = DetachedCriteria.forClass(Poll.class);
    criteria.setProjection(Projections.max("likeVote"));
    criteria.createAlias("editorOwner", "editorOwner");
    criteria.add(Restrictions.eq("editorOwner.uid", userId));
    criteria.add(Restrictions.between("createDate", dateFrom, dateTo));
    @SuppressWarnings("unchecked")
    List<Poll> results = (List<Poll>) getHibernateTemplate().findByCriteria(criteria);
    return (Long) (results.get(0) == null ? 0 : results.get(0));
}

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

License:Apache License

public final Long getTotalPollsbyUser(final UserAccount user, final Boolean publishStatus) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(Poll.class);
    criteria.setProjection(Projections.rowCount());
    criteria.add(Restrictions.eq("editorOwner", user));
    criteria.add(Restrictions.eq("publish", publishStatus));
    @SuppressWarnings("unchecked")
    List<Poll> results = (List<Poll>) getHibernateTemplate().findByCriteria(criteria);
    log.trace("Retrieve total polls by  " + user.getUsername() + "--->" + results.size());
    return (Long) (results.get(0) == null ? 0 : results.get(0));
}

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

License:Apache License

@SuppressWarnings("unchecked")
public List<PollResult> getListvalidateVoteIP(final String ip, final Poll poll) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(PollResult.class);
    criteria.setProjection(Projections.rowCount());
    criteria.add(Restrictions.eq("ipaddress", ip));
    criteria.add(Restrictions.eq("poll", poll));
    return (List<PollResult>) getHibernateTemplate().findByCriteria(criteria);
}

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

License:Apache License

@SuppressWarnings("unchecked")
public Date retrieveMinimumScheduledDate(final Status status) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(Schedule.class);
    criteria.setProjection(Projections.min("scheduleDate"));
    List<Schedule> results = (List<Schedule>) getHibernateTemplate().findByCriteria(criteria);
    return (Date) (results.get(0) == null ? new Date() : results.get(0));

}

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

License:Apache License

@SuppressWarnings("unchecked")
public List<Object[]> getSurveysRangeStats(final String tagName, final SearchPeriods period) {
    final DetachedCriteria detached = DetachedCriteria.forClass(Survey.class)
            .createAlias("hashTags", "hashTags").setProjection(Projections.id())
            .add(Subqueries.propertyIn("hashTags.hashTagId",
                    DetachedCriteria.forClass(HashTag.class, "hash").setProjection(Projections.id())
                            .add(Restrictions.in("hash.hashTag", new String[] { tagName }))));
    final DetachedCriteria criteria = DetachedCriteria.forClass(Survey.class, "survey");
    criteria.add(Subqueries.propertyIn("survey.sid", detached));
    criteria.addOrder(Order.desc("survey.createDate"));
    ProjectionList projList = Projections.projectionList();
    projList.add(Projections.groupProperty("createDate"));
    projList.add(Projections.rowCount());
    criteria.setProjection(projList);
    return (List<Object[]>) getHibernateTemplate().findByCriteria(criteria);
}

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

License:Apache License

/**
 * Get Votes By {@link TweetPollSwitch}..
 *
 * @param pollSwitch//  w  w  w.j a va2s  .  c  o m
 *            {@link TweetPollSwitch}..
 * @return
 */
@SuppressWarnings("unchecked")
public List<Long> getVotesByAnswer(final TweetPollSwitch pollSwitch) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(TweetPollResult.class);
    criteria.setProjection(Projections.rowCount());
    criteria.add(Restrictions.eq("tweetPollSwitch", pollSwitch));
    return (List<Long>) getHibernateTemplate().findByCriteria(criteria);
}

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

License:Apache License

@SuppressWarnings("unchecked")
//FUTURE: this method return a List<Object[]> instead List<TweetPoll>
public List<TweetPoll> getTweetPollsbyHashTagNameAndDateRange(final String tagName,
        final SearchPeriods period) {
    final DetachedCriteria detached = DetachedCriteria.forClass(TweetPoll.class)
            .createAlias("hashTags", "hashTags").setProjection(Projections.id())
            .add(Subqueries.propertyIn("hashTags.hashTagId",
                    DetachedCriteria.forClass(HashTag.class, "hash").setProjection(Projections.id())
                            .add(Restrictions.in("hash.hashTag", new String[] { tagName }))));
    final DetachedCriteria criteria = DetachedCriteria.forClass(TweetPoll.class, "tweetPoll");
    criteria.add(Subqueries.propertyIn("tweetPoll.tweetPollId", detached));
    criteria.addOrder(Order.desc("tweetPoll.createDate"));
    criteria.add(Restrictions.eq("publishTweetPoll", Boolean.TRUE));
    ProjectionList projList = Projections.projectionList();
    projList.add(Projections.groupProperty("createDate"));
    projList.add(Projections.rowCount());
    criteria.setProjection(projList);
    // calculateSearchPeriodsDates(period, criteria, "createDate");

    return (List<TweetPoll>) getHibernateTemplate().findByCriteria(criteria);
}

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

License:Apache License

public Long getMaxTweetPollLikeVotesbyUser(final Long userId) {
    DetachedCriteria criteria = DetachedCriteria.forClass(TweetPoll.class);
    criteria.setProjection(Projections.max("likeVote"));
    criteria.createAlias("editorOwner", "editorOwner");
    criteria.add(Restrictions.eq("editorOwner.uid", userId));
    @SuppressWarnings("unchecked")
    List<TweetPoll> results = (List<TweetPoll>) getHibernateTemplate().findByCriteria(criteria);
    return (Long) (results.get(0) == null ? 0 : results.get(0));
}

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

License:Apache License

public final Long getTotalTweetPoll(final UserAccount user, final Boolean publishTweetPoll) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(TweetPoll.class);
    criteria.setProjection(Projections.rowCount());
    criteria.add(Restrictions.eq("editorOwner", user));
    criteria.add(Restrictions.eq("publishTweetPoll", publishTweetPoll));
    @SuppressWarnings("unchecked")
    List<TweetPoll> results = (List<TweetPoll>) getHibernateTemplate().findByCriteria(criteria);
    log.trace("Retrieve total tweetPolls by  " + user.getUsername() + "--->" + results.size());
    return (Long) (results.get(0) == null ? 0 : results.get(0));
}

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

License:Apache License

@SuppressWarnings("unchecked")
public Long getSocialLinksByType(final TweetPoll tweetPoll, final Survey survey, final Poll poll,
        final TypeSearchResult itemType) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(TweetPollSavedPublishedStatus.class);
    criteria.setProjection(Projections.rowCount());
    if (itemType.equals(TypeSearchResult.TWEETPOLL)) {
        criteria.add(Restrictions.eq("tweetPoll", tweetPoll));
    } else if (itemType.equals(TypeSearchResult.SURVEY)) {
        criteria.createAlias("survey", "survey");
        criteria.add(Restrictions.eq("survey", survey));
        // criteria.addOrder(Order.desc("survey.createdAt"));
    } else if (itemType.equals(TypeSearchResult.POLL)) {
        criteria.add(Restrictions.eq("poll", poll));
        // criteria.addOrder(Order.desc("poll.createdAt"));
    } else {// w  w  w.j a va  2 s . c  om
        log.error("Item type not valid: " + itemType);
    }
    criteria.add(Restrictions.isNotNull("apiType"));
    criteria.add(Restrictions.isNotNull("tweetId"));
    criteria.add(Restrictions.eq("status", Status.SUCCESS));

    List<TweetPollSavedPublishedStatus> results = (List<TweetPollSavedPublishedStatus>) getHibernateTemplate()
            .findByCriteria(criteria);
    log.debug("Retrieve total Social Links:" + "--->" + results.size());
    return (Long) (results.get(0) == null ? 0 : results.get(0));

}