From e1b136ea4240040139382b4cea5dc5c95701032e Mon Sep 17 00:00:00 2001
From: anto-gom <anto-gom@dsv.su.se>
Date: Fri, 2 Mar 2012 09:13:29 +0100
Subject: [PATCH] Added reviewer as a filterable Param to ProjectIdeaDao and
 its implementation class.

---
 .../scipro/match/dao/interfaces/ProjectIdeaDao.java    | 10 ++++++++++
 .../dsv/scipro/match/dao/jpa/ProjectIdeaDaoJPAImp.java | 10 ++++++++++
 2 files changed, 20 insertions(+)

diff --git a/src/main/java/se/su/dsv/scipro/match/dao/interfaces/ProjectIdeaDao.java b/src/main/java/se/su/dsv/scipro/match/dao/interfaces/ProjectIdeaDao.java
index 1c7946cf00..5b85249149 100644
--- a/src/main/java/se/su/dsv/scipro/match/dao/interfaces/ProjectIdeaDao.java
+++ b/src/main/java/se/su/dsv/scipro/match/dao/interfaces/ProjectIdeaDao.java
@@ -43,6 +43,8 @@ public interface ProjectIdeaDao extends Dao<ProjectIdea> {
 
         private Employee supervisor;
 
+        private Employee reviewer;
+
         private Student author;
 
         private Boolean projectCreated;
@@ -96,6 +98,14 @@ public interface ProjectIdeaDao extends Dao<ProjectIdea> {
             return supervisor;
         }
 
+        public void setReviewer(Employee reviewer) {
+            this.reviewer = reviewer;
+        }
+
+        public Employee getReviewer() {
+            return reviewer;
+        }
+
         public void setAuthor(Student author) {
             this.author = author;
         }
diff --git a/src/main/java/se/su/dsv/scipro/match/dao/jpa/ProjectIdeaDaoJPAImp.java b/src/main/java/se/su/dsv/scipro/match/dao/jpa/ProjectIdeaDaoJPAImp.java
index a9d9172d3f..50e336136a 100644
--- a/src/main/java/se/su/dsv/scipro/match/dao/jpa/ProjectIdeaDaoJPAImp.java
+++ b/src/main/java/se/su/dsv/scipro/match/dao/jpa/ProjectIdeaDaoJPAImp.java
@@ -119,6 +119,7 @@ public class ProjectIdeaDaoJPAImp extends AbstractDaoJPAImp<ProjectIdea>
             .projectCreated(params.isProjectCreated())
             .author(params.getAuthor())
             .supervisor(params.getSupervisor())
+            .reviewer(params.getReviewer())
             .sortAndPaginate(params);
     }
 
@@ -154,6 +155,15 @@ public class ProjectIdeaDaoJPAImp extends AbstractDaoJPAImp<ProjectIdea>
             }
             return this;
         }
+
+        public QuerySet reviewer(Employee reviewer) {
+            if (reviewer != null) {
+                getQuery().combine(
+                        new Query().where("_.reviewer = :reviewer")
+                                .parameter("reviewer", reviewer));
+            }
+            return this;
+        }
         
         public QuerySet matchDateAfter(Date matchDateAfter) {
             if (matchDateAfter != null) {