renamed notification to webnotification, and added to methods
Change-Id: Iea4810e9a8296900079bd192cc03e6f2e1ceead1
This commit is contained in:
parent
cb5818e09b
commit
7ff10415bc
src/main/java/se/su/dsv/scipro/data/dao
@ -4,6 +4,7 @@
|
||||
package se.su.dsv.scipro.data.dao.interfaces;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.MessageBoard;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
import se.su.dsv.scipro.data.dataobjects.interfaces.Commentable;
|
||||
|
||||
/**
|
||||
|
@ -7,7 +7,7 @@ package se.su.dsv.scipro.data.dao.interfaces;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.Notification;
|
||||
import se.su.dsv.scipro.data.dataobjects.WebNotification;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
|
||||
/**
|
||||
@ -16,9 +16,9 @@ import se.su.dsv.scipro.data.dataobjects.User;
|
||||
*/
|
||||
|
||||
|
||||
public interface NotificationDao extends Dao<Notification>{
|
||||
public interface WebNotificationDao extends Dao<WebNotification>{
|
||||
|
||||
List<Notification> getNotifications(final User user);
|
||||
List<WebNotification> getNotifications(final User user);
|
||||
int getNumberOfNotifications(final User user);
|
||||
|
||||
}
|
@ -15,6 +15,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.MessageBoardDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.MessageBoard;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
import se.su.dsv.scipro.data.dataobjects.interfaces.Commentable;
|
||||
|
||||
/**
|
||||
|
@ -18,8 +18,8 @@ import org.springframework.orm.jpa.JpaCallback;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.NotificationDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.Notification;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.WebNotificationDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.WebNotification;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
|
||||
/**
|
||||
@ -28,32 +28,32 @@ import se.su.dsv.scipro.data.dataobjects.User;
|
||||
*/
|
||||
|
||||
@Repository("notificationDao")
|
||||
public class NotificationDaoJPAImp extends AbstractDaoJPAImp<Notification>
|
||||
implements NotificationDao {
|
||||
public class WebNotificationDaoJPAImp extends AbstractDaoJPAImp<WebNotification>
|
||||
implements WebNotificationDao {
|
||||
|
||||
public NotificationDaoJPAImp() {
|
||||
super(Notification.class);
|
||||
public WebNotificationDaoJPAImp() {
|
||||
super(WebNotification.class);
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
@Override
|
||||
public List<Notification> getNotifications(final User user){
|
||||
return getJpaTemplate().execute(new JpaCallback<List<Notification>>() {
|
||||
public List<WebNotification> getNotifications(final User user){
|
||||
return getJpaTemplate().execute(new JpaCallback<List<WebNotification>>() {
|
||||
@Override
|
||||
public List<Notification> doInJpa(EntityManager em)
|
||||
public List<WebNotification> doInJpa(EntityManager em)
|
||||
throws PersistenceException {
|
||||
String q = "SELECT n FROM Notification n "
|
||||
String q = "SELECT n FROM WebNotification n "
|
||||
+ "where n.user = :user AND n.readByUser = false ORDER BY n.dateCreated DESC";
|
||||
|
||||
TypedQuery<Notification> query = em.createQuery(q,
|
||||
Notification.class);
|
||||
TypedQuery<WebNotification> query = em.createQuery(q,
|
||||
WebNotification.class);
|
||||
query.setParameter("user", user);
|
||||
query.setHint(QueryHints.HINT_CACHEABLE, "true");
|
||||
|
||||
try {
|
||||
return query.getResultList();
|
||||
} catch (NoResultException e) {
|
||||
return new ArrayList<Notification>();
|
||||
return new ArrayList<WebNotification>();
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -66,7 +66,7 @@ public class NotificationDaoJPAImp extends AbstractDaoJPAImp<Notification>
|
||||
@Override
|
||||
public Integer doInJpa(EntityManager em)
|
||||
throws PersistenceException {
|
||||
String q = "SELECT COUNT (n) FROM Notification n "
|
||||
String q = "SELECT COUNT (n) FROM WebNotification n "
|
||||
+ "where n.user = :user AND n.readByUser = false ";
|
||||
|
||||
TypedQuery<Long> query = em.createQuery(q,
|
Loading…
x
Reference in New Issue
Block a user