Files
Athou_commafeed/src/main/java/com/commafeed/backend/dao/FeedSubscriptionDAO.java

70 lines
2.6 KiB
Java
Raw Normal View History

2013-03-20 20:33:42 +01:00
package com.commafeed.backend.dao;
import java.util.List;
import javax.ejb.Stateless;
2013-03-25 12:24:00 +01:00
import com.commafeed.backend.model.Feed;
import com.commafeed.backend.model.FeedCategory;
2013-03-23 16:17:19 +01:00
import com.commafeed.backend.model.FeedSubscription;
2013-04-12 10:44:41 +02:00
import com.commafeed.backend.model.FeedSubscription_;
2013-03-23 16:17:19 +01:00
import com.commafeed.backend.model.User;
2013-03-25 12:24:00 +01:00
import com.google.common.collect.Iterables;
2013-03-22 11:42:25 +01:00
import com.uaihebert.factory.EasyCriteriaFactory;
import com.uaihebert.model.EasyCriteria;
2013-03-20 20:33:42 +01:00
@Stateless
2013-04-11 20:49:08 +02:00
public class FeedSubscriptionDAO extends GenericDAO<FeedSubscription> {
2013-03-20 20:33:42 +01:00
2013-03-25 12:24:00 +01:00
public FeedSubscription findById(User user, Long id) {
EasyCriteria<FeedSubscription> criteria = createCriteria();
2013-04-12 10:44:41 +02:00
criteria.andEquals(FeedSubscription_.user.getName(), user);
criteria.andEquals(FeedSubscription_.id.getName(), id);
criteria.leftJoinFetch(FeedSubscription_.feed.getName());
criteria.leftJoinFetch(FeedSubscription_.user.getName());
2013-03-25 12:24:00 +01:00
return Iterables.getFirst(criteria.getResultList(), null);
}
2013-04-08 07:54:46 +02:00
public List<FeedSubscription> findByFeed(Feed feed) {
EasyCriteria<FeedSubscription> criteria = createCriteria();
2013-04-12 10:44:41 +02:00
criteria.andEquals(FeedSubscription_.feed.getName(), feed);
2013-04-08 07:54:46 +02:00
return criteria.getResultList();
}
2013-03-25 12:24:00 +01:00
public FeedSubscription findByFeed(User user, Feed feed) {
EasyCriteria<FeedSubscription> criteria = createCriteria();
2013-04-12 10:44:41 +02:00
criteria.andEquals(FeedSubscription_.user.getName(), user);
criteria.andEquals(FeedSubscription_.feed.getName(), feed);
2013-03-25 12:24:00 +01:00
return Iterables.getFirst(criteria.getResultList(), null);
}
2013-03-20 20:33:42 +01:00
public List<FeedSubscription> findAll(User user) {
EasyCriteria<FeedSubscription> criteria = createCriteria();
2013-04-12 10:44:41 +02:00
criteria.andEquals(FeedSubscription_.user.getName(), user);
2013-04-12 10:44:41 +02:00
criteria.innerJoinFetch(FeedSubscription_.feed.getName());
criteria.innerJoinFetch(FeedSubscription_.user.getName());
criteria.leftJoinFetch(FeedSubscription_.category.getName());
return criteria.getResultList();
2013-03-20 20:33:42 +01:00
}
2013-03-22 22:11:40 +01:00
public List<FeedSubscription> findByCategory(User user,
FeedCategory category) {
EasyCriteria<FeedSubscription> criteria = EasyCriteriaFactory
.createQueryCriteria(em, getType());
2013-04-12 10:44:41 +02:00
criteria.andEquals(FeedSubscription_.user.getName(), user);
criteria.andEquals(FeedSubscription_.category.getName(), category);
return criteria.getResultList();
}
2013-03-22 11:42:25 +01:00
public List<FeedSubscription> findWithoutCategories(User user) {
2013-03-22 22:11:40 +01:00
EasyCriteria<FeedSubscription> criteria = EasyCriteriaFactory
.createQueryCriteria(em, getType());
2013-04-12 10:44:41 +02:00
criteria.andEquals(FeedSubscription_.user.getName(), user);
criteria.andIsNull(FeedSubscription_.category.getName());
2013-03-22 11:42:25 +01:00
return criteria.getResultList();
2013-03-22 22:11:40 +01:00
2013-03-22 11:42:25 +01:00
}
2013-03-20 20:33:42 +01:00
}