From 2a02a97a4cd1257325377da0552c006aef4452d1 Mon Sep 17 00:00:00 2001 From: Bojnourdi Date: Fri, 7 Aug 2015 15:14:22 +0200 Subject: [PATCH] Working on edj->dao separation --- .../{ejb/StudyDAO.java => dao/StudyDao.java} | 20 +-- .../{ejb/UserDAO.java => dao/UserDao.java} | 18 +-- .../src/java/com/edf/gde/ejb/StudyEJB.java | 67 ++++++++ .../src/java/com/edf/gde/ejb/UserEJB.java | 153 ++++++++++++++++++ .../com/edf/gde/services/UserService.java | 4 +- 5 files changed, 239 insertions(+), 23 deletions(-) rename projects/GDE_App/GDE-ejb/src/java/com/edf/gde/{ejb/StudyDAO.java => dao/StudyDao.java} (81%) rename projects/GDE_App/GDE-ejb/src/java/com/edf/gde/{ejb/UserDAO.java => dao/UserDao.java} (96%) create mode 100644 projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/StudyEJB.java create mode 100644 projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserEJB.java diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/StudyDAO.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/StudyDao.java similarity index 81% rename from projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/StudyDAO.java rename to projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/StudyDao.java index 4dacf5f..9924e9b 100644 --- a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/StudyDAO.java +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/StudyDao.java @@ -1,27 +1,23 @@ /* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. + * (C) 2015 EDF */ -package com.edf.gde.ejb; +package com.edf.gde.dao; import com.edf.gde.entities.Study; import com.edf.gde.transferables.StudyTO; import java.util.Date; -import javax.ejb.Stateless; -import javax.ejb.LocalBean; import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; /** * - * @author F62173 + * @author Kavoos */ -@Stateless -@LocalBean -public class StudyDAO { - @PersistenceContext(unitName = "GDE-ejbPU") +public class StudyDao { private EntityManager em; + + public StudyDao(EntityManager em) { + this.em = em; + } public StudyTO createStudy(StudyTO sto) { Study s = Study.fromStudyTO(sto); diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserDAO.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/UserDao.java similarity index 96% rename from projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserDAO.java rename to projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/UserDao.java index ac57a6c..36e1691 100644 --- a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserDAO.java +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/UserDao.java @@ -1,25 +1,24 @@ -package com.edf.gde.ejb; +/* + * (C) 2015 EDF + */ +package com.edf.gde.dao; import com.edf.gde.entities.Group; import com.edf.gde.entities.User; import com.edf.gde.entities.UserGroup; import java.util.List; -import javax.ejb.Stateless; -import javax.ejb.LocalBean; import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; import javax.persistence.Query; /** * * @author Kavoos */ -@Stateless -@LocalBean -public class UserDAO { - - @PersistenceContext(unitName = "GDE-ejbPU") +public class UserDao { private EntityManager em; + public UserDao(EntityManager em) { + this.em = em; + } /** * Create a new user @@ -230,4 +229,5 @@ public class UserDAO { } return false; } + } diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/StudyEJB.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/StudyEJB.java new file mode 100644 index 0000000..7a28660 --- /dev/null +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/StudyEJB.java @@ -0,0 +1,67 @@ +package com.edf.gde.ejb; + +import com.edf.gde.dao.StudyDao; +import com.edf.gde.transferables.StudyTO; +import java.util.Date; +import javax.ejb.Stateless; +import javax.ejb.LocalBean; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + +/** + * + * @author F62173 + */ +@Stateless +@LocalBean +public class StudyEJB { + + @PersistenceContext(unitName = "GDE-ejbPU") + private EntityManager em; + + public StudyTO createStudy(StudyTO sto) { + StudyDao dao = new StudyDao(em); + return dao.createStudy(sto); + } + + public void deleteStudy(StudyTO sto) { + StudyDao dao = new StudyDao(em); + dao.deleteStudy(sto); + } + + public StudyTO updateStudy(StudyTO sto) { + StudyDao dao = new StudyDao(em); + return dao.updateStudy(sto); + } + + public StudyTO findStudy(StudyTO sto) { + StudyDao dao = new StudyDao(em); + return dao.findStudy(sto); + } + + public StudyTO findById(long id) { + StudyDao dao = new StudyDao(em); + return dao.findById(id); + } + + public StudyTO findByName(String name) { + StudyDao dao = new StudyDao(em); + return dao.findByName(name); + } + + public StudyTO findByCreationDate(Date creationDate) { + StudyDao dao = new StudyDao(em); + return dao.findByCreationDate(creationDate); + } + + public StudyTO findByUpdateDate(Date updateDate) { + StudyDao dao = new StudyDao(em); + return dao.findByUpdateDate(updateDate); + } + + public StudyTO findByDeletionDate(Date deletionDate) { + StudyDao dao = new StudyDao(em); + return dao.findByDeletionDate(deletionDate); + } + +} diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserEJB.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserEJB.java new file mode 100644 index 0000000..a72aa84 --- /dev/null +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserEJB.java @@ -0,0 +1,153 @@ +package com.edf.gde.ejb; + +import com.edf.gde.dao.UserDao; +import com.edf.gde.entities.Group; +import com.edf.gde.entities.User; +import java.util.List; +import javax.ejb.Stateless; +import javax.ejb.LocalBean; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + +/** + * + * @author Kavoos + */ +@Stateless +@LocalBean +public class UserEJB { + + @PersistenceContext(unitName = "GDE-ejbPU") + private EntityManager em; + + /** + * Create a new user + * + * @param userName + * @param password + * @return the new User or null if user exists or on error + */ + public User createUser(String userName, String password) { + UserDao dao = new UserDao(em); + return dao.createUser(userName, password); + } + + /** + * Create a new group + * + * @param groupName + * @return the new created Group or null on error + */ + public Group createGroup(String groupName) { + UserDao dao = new UserDao(em); + return dao.createGroup(groupName); + } + + /** + * Find group + * + * @param name + * @return null if the group does not exists + */ + public Group findGroup(String name) { + UserDao dao = new UserDao(em); + return dao.findGroup(name); + } + + /** + * + * @param id + * @return + */ + public Group findGroup(long id) { + UserDao dao = new UserDao(em); + return dao.findGroup(id); + } + + /** + * Add a user to a group + * + * @param groupId + * @param userId + * @return + */ + public void addToGroup(long groupId, long userId) { + UserDao dao = new UserDao(em); + dao.addToGroup(groupId, userId); + } + + /** + * Add users to a group in one transaction + * + * @param groupId + * @param userIds + * @return + */ + public void addToGroup(long groupId, List userIds) { + UserDao dao = new UserDao(em); + dao.addToGroup(groupId, userIds); + } + + /** + * + * @param groupId + * @param userId + * @return + */ + public void removeFromGroup(long groupId, long userId) { + UserDao dao = new UserDao(em); + dao.removeFromGroup(groupId, userId); + } + + /** + * + * @param groupId + * @param userId + * @return + */ + public boolean isInGroup(long groupId, long userId) { + UserDao dao = new UserDao(em); + return dao.isInGroup(groupId, userId); + } + + /** + * Find user by user name (login) + * + * @param userName + * @return + */ + public User findUser(String userName) { + UserDao dao = new UserDao(em); + return dao.findUser(userName); + } + + /** + * + * @param id + * @return + */ + public User findUser(long id) { + UserDao dao = new UserDao(em); + return dao.findUser(id); + } + + /** + * + * @param userId + * @return + */ + public boolean deleteUser(long userId) { + UserDao dao = new UserDao(em); + return dao.deleteUser(userId); + } + + /** + * + * @param groupId + * @return + */ + public boolean deleteGroup(long groupId) { + UserDao dao = new UserDao(em); + return deleteGroup(groupId); + } +} diff --git a/projects/GDE_App/GDE-war/src/java/com/edf/gde/services/UserService.java b/projects/GDE_App/GDE-war/src/java/com/edf/gde/services/UserService.java index 1715d1c..b08b626 100644 --- a/projects/GDE_App/GDE-war/src/java/com/edf/gde/services/UserService.java +++ b/projects/GDE_App/GDE-war/src/java/com/edf/gde/services/UserService.java @@ -1,6 +1,6 @@ package com.edf.gde.services; -import com.edf.gde.ejb.UserDAO; +import com.edf.gde.ejb.UserEJB; import com.edf.gde.entities.Group; import com.edf.gde.entities.User; import com.edf.gde.transferables.CommandTO; @@ -28,7 +28,7 @@ public class UserService extends BaseService { public static final int FINDGROUP = 8; @EJB - UserDAO userDAO; + UserEJB userDAO; @Override public void processRequest(HttpServletRequest request, HttpServletResponse response) { -- 2.39.2