handle 'mark as read'

This commit is contained in:
Athou
2013-03-23 17:17:27 +01:00
parent 4df1e7f722
commit 84e4751e07
8 changed files with 90 additions and 47 deletions

View File

@@ -1,10 +1,30 @@
package com.commafeed.backend.dao;
import javax.ejb.Stateless;
import javax.persistence.NoResultException;
import com.commafeed.backend.model.FeedEntry;
import com.commafeed.backend.model.FeedEntryStatus;
import com.commafeed.backend.model.User;
import com.commafeed.frontend.utils.ModelFactory.MF;
import com.uaihebert.factory.EasyCriteriaFactory;
import com.uaihebert.model.EasyCriteria;
@Stateless
public class FeedEntryStatusService extends GenericDAO<FeedEntryStatus, Long> {
public FeedEntryStatus getStatus(User user, FeedEntry entry) {
EasyCriteria<FeedEntryStatus> criteria = EasyCriteriaFactory
.createQueryCriteria(em, getType());
criteria.andEquals(MF.i(proxy().getUser()), user);
criteria.andEquals(MF.i(proxy().getEntry()), entry);
FeedEntryStatus status = null;
try {
criteria.getSingleResult();
} catch (NoResultException e) {
status = null;
}
return status;
}
}

View File

@@ -10,6 +10,7 @@ import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import com.commafeed.frontend.utils.ModelFactory.MF;
import com.google.common.reflect.TypeToken;
import com.uaihebert.factory.EasyCriteriaFactory;
import com.uaihebert.model.EasyCriteria;
@@ -88,4 +89,8 @@ public abstract class GenericDAO<T, K> implements Serializable {
return (Class<T>) type.getRawType();
}
protected T proxy() {
return MF.p(getType());
}
}