Example usage for org.hibernate.criterion Restrictions isNotNull

List of usage examples for org.hibernate.criterion Restrictions isNotNull

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions isNotNull.

Prototype

public static Criterion isNotNull(String propertyName) 

Source Link

Document

Apply an "is not null" constraint to the named property

Usage

From source file:org.emonocot.persistence.dao.hibernate.ResourceDaoImpl.java

License:Open Source License

@Override
public List<Resource> listResourcesToHarvest(Integer limit, DateTime now, String fetch) {
    Criteria criteria = getSession().createCriteria(type);
    criteria.add(Restrictions.isNotNull("resourceType"));
    criteria.add(Restrictions.in("status", Arrays.asList(new BatchStatus[] { BatchStatus.COMPLETED,
            BatchStatus.FAILED, BatchStatus.ABANDONED, BatchStatus.STOPPED })));
    criteria.add(Restrictions.eq("scheduled", Boolean.TRUE));
    criteria.add(Restrictions.disjunction().add(Restrictions.lt("nextAvailableDate", now))
            .add(Restrictions.isNull("nextAvailableDate")));

    if (limit != null) {
        criteria.setMaxResults(limit);//  w  w  w. j av a  2s .c o m
    }
    enableProfilePreQuery(criteria, fetch);
    criteria.addOrder(Property.forName("nextAvailableDate").asc());
    List<Resource> result = (List<Resource>) criteria.list();
    for (Resource t : result) {
        enableProfilePostQuery(t, fetch);
    }
    return result;
}

From source file:org.emonocot.persistence.dao.hibernate.TaxonDaoImpl.java

License:Open Source License

/**
 * Returns the child taxa of a given taxon.
 *
 * @param identifier//  w  w  w .  j ava  2 s  .  com
 *            set the identifier
 * @param pageSize
 *            The maximum number of results to return
 * @param pageNumber
 *            The offset (in pageSize chunks, 0-based) from the beginning of
 *            the recordset
 * @param fetch
 *            Set the fetch profile
 * @return a Page from the resultset
 */
public final List<Taxon> loadChildren(final String identifier, final Integer pageSize, final Integer pageNumber,
        final String fetch) {
    Criteria criteria = getSession().createCriteria(Taxon.class);
    if (identifier == null) {
        // return the root taxa
        ////         criteria.add(Restrictions.isNull("parentNameUsage"));
        criteria.add(Restrictions.isNotNull("scientificName"));
        ////      criteria.add(Restrictions.eq("taxonomicStatus", TaxonomicStatus.Accepted));
        criteria.add(Restrictions.isNotNull("parentNameUsage"));
        criteria.add(Restrictions.ne("taxonomicStatus", TaxonomicStatus.Synonym));
        if (rootRank != null) {
            criteria.add(Restrictions.eq("taxonRank", rootRank));
        }
    } else {
        criteria.createAlias("parentNameUsage", "p");
        criteria.add(Restrictions.eq("p.identifier", identifier));
    }

    if (pageSize != null) {
        criteria.setMaxResults(pageSize);
        if (pageNumber != null) {
            criteria.setFirstResult(pageSize * pageNumber);
        }
    }
    criteria.addOrder(Order.asc("scientificName"));
    enableProfilePreQuery(criteria, fetch);
    List<Taxon> results = (List<Taxon>) criteria.list();

    for (Taxon t : results) {
        enableProfilePostQuery(t, fetch);
    }
    return results;
}

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

License:Apache License

/**
 *
 * @param criteria/* w  w  w.j  a v  a  2 s .  c  om*/
 * @param isCompleted
 * @param isScheduled
 * @param isFavourite
 * @param isPublished
 * @param keyword
 * @param period
 */
protected void advancedTweetPollSearchOptions(final DetachedCriteria criteria, final Boolean isCompleted,
        final Boolean isScheduled, final Boolean isFavourite, final Boolean isPublished, final String keyword,
        final String period) {

    //final SearchPeriods searchPeriods = SearchPeriods.getPeriodString(period);
    //  calculateSearchPeriodsDates(searchPeriods, criteria, "createDate");
    if (keyword != null) {
        criteria.createAlias("question", "question");
        criteria.add(Restrictions.like("question.question", keyword, MatchMode.ANYWHERE));
    }
    if (isCompleted != null && isCompleted) {
        criteria.add(Restrictions.eq("completed", isCompleted));
    }
    if (isScheduled != null && isScheduled) {
        criteria.add(Restrictions.eq("scheduleTweetPoll", isScheduled));
        criteria.add(Restrictions.isNotNull("scheduleDate"));
    }
    if (isFavourite != null && isFavourite) {
        criteria.add(Restrictions.eq("favourites", isFavourite));

    }
    if (isPublished != null && isPublished) {
        criteria.add(Restrictions.eq("publishTweetPoll", isPublished));
    }
}

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

License:Apache License

/**
*
* @param criteria// w w  w. ja  va  2  s.  c om
* @param isCompleted
* @param isScheduled
* @param isFavourite
* @param isPublished
* @param keyword
* @param period
*/
protected void advancedPollSearchOptions(final DetachedCriteria criteria, final Boolean isCompleted,
        final Boolean isScheduled, final Boolean isFavourite, final Boolean isPublished, final Boolean isHidden,
        final Boolean isPasswordProtected, final String keyword, final String period) {

    //final SearchPeriods searchPeriods = SearchPeriods.getPeriodString(period);
    //  calculateSearchPeriodsDates(searchPeriods, criteria, "createDate");
    if (keyword != null) {
        criteria.createAlias("question", "question");
        criteria.add(Restrictions.like("question.question", keyword, MatchMode.ANYWHERE));
    }
    if (isCompleted != null && isCompleted) {
        criteria.add(Restrictions.eq("completed", isCompleted));
    }
    if (isScheduled != null && isScheduled) {
        criteria.add(Restrictions.eq("schedule", isScheduled));
        criteria.add(Restrictions.isNotNull("scheduleDate"));
    }
    if (isFavourite != null && isFavourite) {
        criteria.add(Restrictions.eq("favourites", isFavourite));

    }
    if (isPublished != null && isPublished) {
        criteria.add(Restrictions.eq("publish", isPublished));
    }
    if (isHidden != null && isHidden) {
        criteria.add(Restrictions.eq("isHidden", isHidden));
    }
    if (isPasswordProtected != null && isPasswordProtected) {
        criteria.add(Restrictions.eq("isPasswordProtected", isPasswordProtected));
    }
}

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

License:Apache License

/**
 *
 * @param criteria//from  w  w  w .  ja  v a  2 s  . com
 * @param property
 * @param splist
 */
public void criteriaSearchSocialLinksByType(final DetachedCriteria criteria, final List<SocialProvider> splist,
        final List<SocialAccount> socialAccounts) {
    criteria.add(Restrictions.isNotNull("tweetId"));
    criteria.add(Restrictions.eq("status", Status.SUCCESS));
    if (splist.size() > 0) {
        criteria.add(Restrictions.in("apiType", splist));
    }
    if (socialAccounts.size() > 0) {
        criteria.add(Restrictions.in("socialAccount", socialAccounts));
    }
}

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

License:Apache License

public final List<UserAccount> retrieveListUserUnconfirmedByAccount(final Account account) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(UserAccount.class);
    criteria.add(Restrictions.isNotNull("inviteCode"));
    return (List<UserAccount>) getHibernateTemplate().findByCriteria(criteria);
}

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

License:Apache License

public Long getTotalCommentsbyTypeAndStatus(final TypeSearchResult itemType,
        final CommentOptions commentOptions, final SearchPeriods period) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(Comment.class);
    criteria.setProjection(Projections.rowCount());
    if (itemType.equals(TypeSearchResult.TWEETPOLL)) {
        criteria.createAlias("tweetPoll", "tweetPoll");
        criteria.add(Restrictions.isNotNull("tweetPoll"));
    } else if (itemType.equals(TypeSearchResult.POLL)) {
        criteria.createAlias("poll", "poll");
        criteria.add(Restrictions.isNotNull("poll"));
    } else if (itemType.equals(TypeSearchResult.SURVEY)) {
        criteria.createAlias("survey", "survey");
        criteria.add(Restrictions.isNotNull("survey"));
    } else {/*from   w  w w  .j  a va 2  s.  c o m*/
        log.error(" Search result type undefined " + itemType);
    }
    if (!commentOptions.equals(CommentOptions.ALL)) {
        criteria.add(Restrictions.eq("commentOptions", commentOptions));
    }
    if (period != null) {
        calculateSearchPeriodsDates(period, criteria, "createdAt");
    }
    @SuppressWarnings("unchecked")
    List<Comment> results = (List<Comment>) getHibernateTemplate().findByCriteria(criteria);
    log.trace("Retrieve total comments by  " + itemType + "--->" + results.size());
    return (Long) (results.get(0) == null ? 0 : results.get(0));
}

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

License:Apache License

/**
 * Get Poll on Front End/*from   w ww  .  j  a  v a 2s  .  co 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.SurveyDaoImp.java

License:Apache License

@SuppressWarnings("unchecked")
public List<Survey> retrieveScheduledSurvey(final Long userId, final Integer maxResults, final Integer start) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(Survey.class);
    criteria.createAlias("editorOwner", "editorOwner");
    criteria.add(Restrictions.eq("scheduleSurvey", Boolean.TRUE));
    criteria.add(Restrictions.isNotNull("scheduleDate"));
    criteria.add(Restrictions.eq("editorOwner.uid", userId));
    return (List<Survey>) filterByMaxorStart(criteria, maxResults, start);
}

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

License:Apache License

@SuppressWarnings("unchecked")
//TODO: please use FrontEndDao new method.
/*//from w ww  .  ja  v  a2 s  .  com
 * List<TweetPollSavedPublishedStatus> getLinksByHomeItem replace this method.
 */
public List<TweetPollSavedPublishedStatus> getLinksByTweetPoll(final TweetPoll tweetPoll, final Survey survey,
        final Poll poll, final TypeSearchResult itemType) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(TweetPollSavedPublishedStatus.class);
    if (itemType.equals(TypeSearchResult.TWEETPOLL)) {
        criteria.add(Restrictions.eq("tweetPoll", tweetPoll));
        // criteria.addOrder(Order.desc("tweetPoll.createDate"));
    } else if (itemType.equals(TypeSearchResult.POLL)) {
        criteria.add(Restrictions.eq("poll", poll));
        // criteria.addOrder(Order.desc("survey.createdAt"));
    } else if (itemType.equals(TypeSearchResult.SURVEY)) {
        criteria.add(Restrictions.eq("survey", survey));
        // criteria.addOrder(Order.desc("poll.createdAt"));
    } else {
        log.error("Item type not valid: " + itemType);
    }
    criteria.addOrder(Order.desc("publicationDateTweet"));
    criteria.add(Restrictions.isNotNull("apiType"));
    criteria.add(Restrictions.isNotNull("tweetId"));
    criteria.add(Restrictions.eq("status", Status.SUCCESS));
    return (List<TweetPollSavedPublishedStatus>) getHibernateTemplate().findByCriteria(criteria);
}