List of usage examples for org.hibernate.criterion ProjectionList add
public ProjectionList add(Projection projection)
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);//from www .java 2s . c o m return (List<Hit>) getHibernateTemplate().findByCriteria(criteria); }
From source file:org.encuestame.persistence.dao.imp.HashTagDao.java
License:Apache License
/** * Get max-min tag frecuency.// ww w .j a v a 2 s .c o m * * @param tag * @param filter * @return */ @SuppressWarnings("unchecked") public List<Object[]> getMaxMinTagFrecuency() { final DetachedCriteria criteria = DetachedCriteria.forClass(HashTag.class); ProjectionList projectList = Projections.projectionList(); projectList.add(Projections.max("hits")); projectList.add(Projections.min("hits")); criteria.setProjection(projectList); return (List<Object[]>) getHibernateTemplate().findByCriteria(criteria); }
From source file:org.encuestame.persistence.dao.imp.PollDao.java
License:Apache License
@SuppressWarnings("unchecked") public List<Object[]> getPollsRangeStats(final String tagName, final SearchPeriods period) { final DetachedCriteria detached = DetachedCriteria.forClass(Poll.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(Poll.class, "poll"); criteria.add(Subqueries.propertyIn("poll.pollId", detached)); criteria.addOrder(Order.desc("poll.createDate")); criteria.add(Restrictions.eq("publish", Boolean.TRUE)); calculateSearchPeriodsDates(period, criteria, "createDate"); ProjectionList projList = Projections.projectionList(); projList.add(Projections.groupProperty("createDate")); projList.add(Projections.rowCount()); criteria.setProjection(projList);/*from w ww . ja va 2s.c o m*/ return (List<Object[]>) getHibernateTemplate().findByCriteria(criteria); }
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);//from w w w. j a v a2 s .com return (List<Object[]>) 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);/*from www . j av a2 s .c om*/ // calculateSearchPeriodsDates(period, criteria, "createDate"); return (List<TweetPoll>) getHibernateTemplate().findByCriteria(criteria); }
From source file:org.encuestame.persistence.dao.imp.TweetPollDao.java
License:Apache License
@SuppressWarnings("unchecked") public List<Object[]> getTweetPollsRangeStats(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);//w ww .j a v a 2 s . c om calculateSearchPeriodsDates(period, criteria, "createDate"); return (List<Object[]>) getHibernateTemplate().findByCriteria(criteria); }
From source file:org.eurekastreams.server.persistence.mappers.db.GetCommentsByIdsDbMapper.java
License:Apache License
/** * Return list of fully populated CommentDTOs for provided comment ids, respecting order of request ids. * /*from w ww. jav a 2 s . c om*/ * @param inRequest * of comment ids. * @return List of fully populated CommentDTOs for provided comment ids, respecting order of request ids. */ @Override public List<CommentDTO> execute(final List<Long> inRequest) { if (inRequest == null || inRequest.size() == 0) { return new ArrayList<CommentDTO>(0); } Criteria criteria = getHibernateSession().createCriteria(Comment.class); ProjectionList fields = Projections.projectionList(); fields.add(getColumn("id")); fields.add(getColumn("body")); fields.add(getColumn("timeSent")); fields.add(Projections.property("author.id").as("authorId")); fields.add(Projections.property("target.id").as("activityId")); criteria.setProjection(fields); criteria.setResultTransformer(resultTransformer); criteria.add(Restrictions.in("this.id", inRequest)); List<CommentDTO> commentDTOs = criteria.list(); // Fully populate and cache the new DTOs commentDTOPopulator.execute(commentDTOs, null); return orderResults(inRequest, commentDTOs); }
From source file:org.eurekastreams.server.persistence.mappers.db.GetIdsFromPointersDbMapper.java
License:Apache License
/** * Get the entity ids from their pointer values. * * @param inPointerValues/*w w w.ja va 2s .c o m*/ * the values of the pointers to look up ids for * @return a Map of pointer values to Long entity ids */ @Override public List<Long> execute(final List<PointerType> inPointerValues) { if (inPointerValues == null || inPointerValues.size() == 0) { return new ArrayList<Long>(); } Criteria criteria = getHibernateSession().createCriteria(entityClass); ProjectionList fields = Projections.projectionList(); fields.add(Projections.property("id").as("itemId")); criteria.setProjection(fields); // Creates the necessary "OR" clauses to get all uncached item pointers Criterion restriction = null; for (PointerType pointer : inPointerValues) { if (restriction == null) { restriction = Restrictions.eq(pointerFieldName, pointer); } else { restriction = Restrictions.or(Restrictions.eq(pointerFieldName, pointer), restriction); } } criteria.add(restriction); return criteria.list(); }
From source file:org.eurekastreams.server.persistence.mappers.db.GetOrganizationsByIdsDbMapper.java
License:Apache License
/** * Looks in cache for the necessary DTOs and returns them if found. Otherwise, makes a database call, puts them in * cache, and returns them.//from ww w . j a v a2 s . co m * * @param ids * the list of ids that should be found. * @return list of DTO objects. */ @SuppressWarnings("unchecked") public List<OrganizationModelView> execute(final List<Long> ids) { if (ids == null || ids.size() == 0) { return new ArrayList<OrganizationModelView>(); } Criteria criteria = getHibernateSession().createCriteria(Organization.class); ProjectionList fields = Projections.projectionList(); fields.add(getColumn("id")); fields.add(Projections.property("parentOrganization.id").as("parentOrganizationId")); fields.add(getColumn("description")); fields.add(getColumn("name")); fields.add(getColumn("shortName")); fields.add(getColumn("childOrganizationCount")); fields.add(getColumn("descendantGroupCount")); fields.add(getColumn("descendantEmployeeCount")); fields.add(Projections.property("employeeFollowerCount").as("followersCount")); fields.add(getColumn("updatesCount")); fields.add(getColumn("overview")); fields.add(Projections.property("stream.id").as("streamId")); fields.add(getColumn("bannerId")); fields.add(getColumn("url")); fields.add(getColumn("allUsersCanCreateGroups")); fields.add(getColumn("avatarId")); fields.add(getColumn("avatarCropSize")); fields.add(getColumn("avatarCropX")); fields.add(getColumn("avatarCropY")); criteria.setProjection(fields); criteria.createAlias("streamScope", "stream"); // Creates the necessary "OR" clauses to get all uncached items Criterion restriction = null; for (Long orgId : ids) { if (restriction == null) { restriction = Restrictions.eq("this.id", orgId); } else { restriction = Restrictions.or(Restrictions.eq("this.id", orgId), restriction); } } criteria.add(restriction); ModelViewResultTransformer<OrganizationModelView> resultTransformer = // new ModelViewResultTransformer<OrganizationModelView>(new OrganizationModelViewFactory()); criteria.setResultTransformer(resultTransformer); return criteria.list(); }
From source file:org.eurekastreams.server.persistence.mappers.db.GetTutorialVideosDbMapper.java
License:Apache License
/** * Gets set of tutorial videos dtos from the database. * /* w w w .jav a 2s . c om*/ * @param inRequest * value is not used. * @return The set of {@link TutorialVideoDTO}s from db. */ @SuppressWarnings("unchecked") @Override public Set<TutorialVideoDTO> execute(final Long inRequest) { Criteria criteria = getHibernateSession().createCriteria(TutorialVideo.class); ProjectionList fields = Projections.projectionList(); fields.add(getColumn("id")); fields.add(getColumn("page")); fields.add(getColumn("dialogTitle")); fields.add(getColumn("innerContentTitle")); fields.add(getColumn("innerContent")); fields.add(getColumn("videoUrl")); fields.add(getColumn("videoWidth")); fields.add(getColumn("videoHeight")); criteria.setProjection(fields); ModelViewResultTransformer<TutorialVideoDTO> resultTransformer = // new ModelViewResultTransformer<TutorialVideoDTO>(new TutorialVideoDTOFactory()); criteria.setResultTransformer(resultTransformer); List<TutorialVideoDTO> tutorialVideoSet = criteria.list(); return new HashSet<TutorialVideoDTO>(tutorialVideoSet); }