renamed notification to webnotification, and added to methods

Change-Id: Iea4810e9a8296900079bd192cc03e6f2e1ceead1
This commit is contained in:
joha-asc 2011-07-18 16:55:12 +02:00
parent cb5818e09b
commit 7ff10415bc
4 changed files with 19 additions and 17 deletions

@ -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,