From f8490cbc2b55dff742386ce6190527600f1ff8b7 Mon Sep 17 00:00:00 2001 From: Nikolaos Laskaris Date: Wed, 18 Oct 2017 10:58:37 +0300 Subject: [PATCH] Minor edit --- .../java/dao/entities/DMPResearcherDao.java | 4 ++++ .../dao/entities/DMPResearcherDaoImpl.java | 18 ++++++++++++++++++ .../main/java/dao/entities/RegistryDao.java | 2 ++ .../java/dao/entities/RegistryDaoImpl.java | 3 ++- .../main/java/dao/entities/ResearcherDao.java | 2 ++ .../java/dao/entities/ResearcherDaoImpl.java | 10 ++++++++++ .../main/java/rest/entities/Researchers.java | 12 ++++++++++++ 7 files changed, 50 insertions(+), 1 deletion(-) diff --git a/dmp-backend/src/main/java/dao/entities/DMPResearcherDao.java b/dmp-backend/src/main/java/dao/entities/DMPResearcherDao.java index db9537448..c97e6c78d 100644 --- a/dmp-backend/src/main/java/dao/entities/DMPResearcherDao.java +++ b/dmp-backend/src/main/java/dao/entities/DMPResearcherDao.java @@ -4,7 +4,11 @@ import java.util.UUID; import dao.Dao; import entities.DMPResearcher; +import entities.Researcher; public interface DMPResearcherDao extends Dao { + + Researcher getResearcherByEmail(String email); + } \ No newline at end of file diff --git a/dmp-backend/src/main/java/dao/entities/DMPResearcherDaoImpl.java b/dmp-backend/src/main/java/dao/entities/DMPResearcherDaoImpl.java index e7f469c46..1c420680b 100644 --- a/dmp-backend/src/main/java/dao/entities/DMPResearcherDaoImpl.java +++ b/dmp-backend/src/main/java/dao/entities/DMPResearcherDaoImpl.java @@ -2,9 +2,13 @@ package dao.entities; import java.util.UUID; +import javax.persistence.TypedQuery; + +import org.hibernate.NonUniqueResultException; import dao.JpaDao; import entities.DMPResearcher; +import entities.Researcher; public class DMPResearcherDaoImpl extends JpaDao implements DMPResearcherDao { @@ -12,6 +16,20 @@ public class DMPResearcherDaoImpl extends JpaDao implements // TODO Auto-generated method stub return null; } + + @Override + public Researcher getResearcherByEmail(String email) { + String queryString = "FROM Researcher researcher where primaryEmail=:email"; + TypedQuery typedQuery = entityManager.createQuery(queryString, Researcher.class); + typedQuery.setParameter("email", email); + try { + return typedQuery.getSingleResult(); + }catch(Exception ex) { + System.out.println(ex.getMessage()); + return null; + } + + } } diff --git a/dmp-backend/src/main/java/dao/entities/RegistryDao.java b/dmp-backend/src/main/java/dao/entities/RegistryDao.java index a4d921610..eebeed1fe 100644 --- a/dmp-backend/src/main/java/dao/entities/RegistryDao.java +++ b/dmp-backend/src/main/java/dao/entities/RegistryDao.java @@ -5,6 +5,7 @@ import java.util.UUID; import dao.Dao; import entities.Registry; +import entities.Researcher; import entities.responses.IDLabelPair; public interface RegistryDao extends Dao { @@ -12,5 +13,6 @@ public interface RegistryDao extends Dao { List listAllIDs(); List listAllIDsLabels(); + } \ No newline at end of file diff --git a/dmp-backend/src/main/java/dao/entities/RegistryDaoImpl.java b/dmp-backend/src/main/java/dao/entities/RegistryDaoImpl.java index dc59ec05a..1c8bb1a17 100644 --- a/dmp-backend/src/main/java/dao/entities/RegistryDaoImpl.java +++ b/dmp-backend/src/main/java/dao/entities/RegistryDaoImpl.java @@ -10,6 +10,7 @@ import org.hibernate.query.Query; import dao.JpaDao; import entities.Registry; +import entities.Researcher; import entities.responses.IDLabelPair; public class RegistryDaoImpl extends JpaDao implements RegistryDao { @@ -37,6 +38,6 @@ public class RegistryDaoImpl extends JpaDao implements RegistryD }) .collect(Collectors.toList()); } - + } diff --git a/dmp-backend/src/main/java/dao/entities/ResearcherDao.java b/dmp-backend/src/main/java/dao/entities/ResearcherDao.java index 16e74cd34..1cf3913ed 100644 --- a/dmp-backend/src/main/java/dao/entities/ResearcherDao.java +++ b/dmp-backend/src/main/java/dao/entities/ResearcherDao.java @@ -12,5 +12,7 @@ public interface ResearcherDao extends Dao { List listAllIDs(); List listAllIDsLabels(); + + Researcher getResearcherByEmail(String email); } \ No newline at end of file diff --git a/dmp-backend/src/main/java/dao/entities/ResearcherDaoImpl.java b/dmp-backend/src/main/java/dao/entities/ResearcherDaoImpl.java index bdf592e21..6a9d78691 100644 --- a/dmp-backend/src/main/java/dao/entities/ResearcherDaoImpl.java +++ b/dmp-backend/src/main/java/dao/entities/ResearcherDaoImpl.java @@ -38,6 +38,16 @@ public class ResearcherDaoImpl extends JpaDao implements Resea }) .collect(Collectors.toList()); } + + + @Override + public Researcher getResearcherByEmail(String email) { + String queryString = "FROM Researcher researcher where researcher.primaryEmail=:email"; + TypedQuery typedQuery = entityManager.createQuery(queryString, Researcher.class); + + + return null; + } } diff --git a/dmp-backend/src/main/java/rest/entities/Researchers.java b/dmp-backend/src/main/java/rest/entities/Researchers.java index ef659665c..c38840d60 100644 --- a/dmp-backend/src/main/java/rest/entities/Researchers.java +++ b/dmp-backend/src/main/java/rest/entities/Researchers.java @@ -96,6 +96,18 @@ public class Researchers { } } + @RequestMapping(method = RequestMethod.GET, value = { "/researcher/getByEmail" }, produces="application/json") + public @ResponseBody ResponseEntity getResearcherByEmail(@RequestParam("email") String email){ + try { + Researcher researcher = researcherDao.getResearcherByEmail(email); + return ResponseEntity.status(HttpStatus.OK).body(new ObjectMapper().writeValueAsString(researcher)); + } + catch(Exception ex) { + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage()); + } + + } + @RequestMapping(method = RequestMethod.GET, value = { "/researcher/getAll" }, produces="application/json") public @ResponseBody ResponseEntity getAllResearchers(){