]> SALOME platform Git repositories - modules/gde.git/commitdiff
Salome HOME
Working on edj->dao separation
authorBojnourdi <kavoos.bojnourdi@edf.fr>
Fri, 7 Aug 2015 13:14:22 +0000 (15:14 +0200)
committerBojnourdi <kavoos.bojnourdi@edf.fr>
Fri, 7 Aug 2015 13:14:22 +0000 (15:14 +0200)
projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/StudyDao.java [new file with mode: 0644]
projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/UserDao.java [new file with mode: 0644]
projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/StudyDAO.java [deleted file]
projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/StudyEJB.java [new file with mode: 0644]
projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserDAO.java [deleted file]
projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserEJB.java [new file with mode: 0644]
projects/GDE_App/GDE-war/src/java/com/edf/gde/services/UserService.java

diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/StudyDao.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/StudyDao.java
new file mode 100644 (file)
index 0000000..9924e9b
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ * (C) 2015 EDF
+ */
+package com.edf.gde.dao;
+
+import com.edf.gde.entities.Study;
+import com.edf.gde.transferables.StudyTO;
+import java.util.Date;
+import javax.persistence.EntityManager;
+
+/**
+ *
+ * @author Kavoos
+ */
+public class StudyDao {
+    private EntityManager em;
+
+    public StudyDao(EntityManager em) {
+        this.em = em;
+    }
+    
+    public StudyTO createStudy(StudyTO sto) {
+        Study s = Study.fromStudyTO(sto);
+        em.persist(s);
+        return s.toStudyTO();
+    }
+
+    public void deleteStudy(StudyTO sto) {
+        Study s = Study.fromStudyTO(sto);
+        em.remove(s);
+    }
+    public StudyTO updateStudy(StudyTO sto) {
+        Study s = Study.fromStudyTO(sto);
+        Study up = em.merge(s);
+        return up.toStudyTO();
+    }
+    
+    public StudyTO findStudy(StudyTO sto) {
+        Study found = em.find(Study.class, sto.getId());
+        return found.toStudyTO();
+    }
+    
+    private <T> StudyTO findBy(String queryName, String varName, T value) {
+        try {
+            Study found = (Study) em.createNamedQuery(queryName)
+                                    .setParameter(varName, value)
+                                    .getSingleResult();
+            return found.toStudyTO();
+        }
+        catch (Exception e) {
+            return null;
+        }
+    }
+    
+    public StudyTO findById(long id) {
+        return findBy("Study.findById", "id", id);
+    }
+    
+    public StudyTO findByName(String name) {
+        return findBy("Study.findByName", "name", name);
+    }
+    
+    public StudyTO findByCreationDate(Date creationDate) {
+        return findBy("Study.findByCreationDate", "creationDate", creationDate);
+    }
+    
+    public StudyTO findByUpdateDate(Date updateDate) {
+        return findBy("Study.findByUpdateDate", "updateDate", updateDate);
+    }
+    
+    public StudyTO findByDeletionDate(Date deletionDate) {
+        return findBy("Study.findByDeletionDate", "deletionDate", deletionDate);
+    }
+    
+}
diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/UserDao.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/UserDao.java
new file mode 100644 (file)
index 0000000..36e1691
--- /dev/null
@@ -0,0 +1,233 @@
+/*
+ * (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.persistence.EntityManager;
+import javax.persistence.Query;
+
+/**
+ *
+ * @author Kavoos
+ */
+public class UserDao {
+    private EntityManager em;
+    public UserDao(EntityManager em) {
+        this.em = 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) {
+
+        if (userExists(userName)) {
+            throw new RuntimeException("Unable to create user " + userName);
+        }
+        User user = new User();
+        user.setName(userName);
+        user.setPassword(password);
+        em.persist(user);
+        return user;
+    }
+
+    /**
+     * Create a new group
+     *
+     * @param groupName
+     * @return the new created Group or null on error
+     */
+    public Group createGroup(String groupName) {
+        if (groupExists(groupName)) {
+            throw new RuntimeException("Unable to create group " + groupName);
+        }
+        Group group = new Group();
+        group.setName(groupName);
+        em.persist(group);
+        return group;
+    }
+
+    /**
+     * Find group
+     *
+     * @param name
+     * @return null if the group does not exists
+     */
+    public Group findGroup(String name) {
+        Group group = null;
+        Query q = em.createNamedQuery("Group.findByName");
+        q.setParameter("name", name);
+        group = (Group) q.getSingleResult();
+        return group;
+    }
+
+    /**
+     *
+     * @param id
+     * @return
+     */
+    public Group findGroup(long id) {
+        Group group = null;
+        Query q = em.createNamedQuery("Group.findById");
+        q.setParameter("id", id);
+        group = (Group) q.getSingleResult();
+        return group;
+    }
+
+    /**
+     *
+     * @param name
+     * @return
+     */
+    private boolean groupExists(String name) {
+        Group group = null;
+        Query q = em.createNamedQuery("Group.findByName");
+        q.setParameter("name", name);
+        try {
+            group = (Group) q.getSingleResult();
+        } catch (Exception ex) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Add a user to a group
+     *
+     * @param groupId
+     * @param userId
+     * @return
+     */
+    public void addToGroup(long groupId, long userId) {
+        if (!isInGroup(groupId, userId)) {
+            UserGroup userGroup = new UserGroup();
+            userGroup.setGroupId(groupId);
+            userGroup.setUserId(userId);
+            em.persist(userGroup);
+        } else {
+            throw new RuntimeException("Unable to add " + userId + " to group " + groupId);
+        }
+    }
+
+    /**
+     * Add users to a group in one transaction
+     *
+     * @param groupId
+     * @param userIds
+     * @return
+     */
+    public void addToGroup(long groupId, List<Long> userIds) {
+        for (Long id : userIds) {
+            addToGroup(groupId, id);
+        }
+    }
+
+    /**
+     *
+     * @param groupId
+     * @param userId
+     * @return
+     */
+    public void removeFromGroup(long groupId, long userId) {
+        Query q = em.createNamedQuery("UserGroup.findByGroupIdUserId");
+        q.setParameter("groupId", groupId);
+        q.setParameter("userId", userId);
+        List<UserGroup> l = q.getResultList();
+        if (l.isEmpty()) {
+            throw new RuntimeException("UserGroup not found");
+        }
+        UserGroup ug = l.get(0);
+        em.remove(ug);
+    }
+
+    /**
+     *
+     * @param groupId
+     * @param userId
+     * @return
+     */
+    public boolean isInGroup(long groupId, long userId) {
+        Query q = em.createNamedQuery("UserGroup.findByGroupIdUserId");
+        q.setParameter("groupId", groupId);
+        q.setParameter("userId", userId);
+        List<UserGroup> l = q.getResultList();
+        return !l.isEmpty();
+    }
+
+    /**
+     * Find user by user name (login)
+     *
+     * @param userName
+     * @return
+     */
+    public User findUser(String userName) {
+        Query q = em.createNamedQuery("User.findByName");
+        q.setParameter("username", userName);
+        User user = null;
+        user = (User) q.getSingleResult();
+        return user;
+    }
+
+    /**
+     *
+     * @param userName
+     * @return
+     */
+    private boolean userExists(String userName) {
+        Query q = em.createNamedQuery("User.findByName");
+        q.setParameter("username", userName);
+        User user = null;
+        try {
+            user = (User) q.getSingleResult();
+        } catch (Exception ex) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     *
+     * @param id
+     * @return
+     */
+    public User findUser(long id) {
+        return em.find(User.class, id);
+    }
+
+    /**
+     *
+     * @param userId
+     * @return
+     */
+    public boolean deleteUser(long userId) {
+        User user = findUser(userId);
+        if (user != null) {
+            em.remove(user);
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     *
+     * @param groupId
+     * @return
+     */
+    public boolean deleteGroup(long groupId) {
+        Group group = findGroup(groupId);
+        if (group != null) {
+            em.remove(group);
+            return true;
+        }
+        return false;
+    }
+
+}
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/ejb/StudyDAO.java
deleted file mode 100644 (file)
index 4dacf5f..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * 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.
- */
-package com.edf.gde.ejb;
-
-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
- */
-@Stateless
-@LocalBean
-public class StudyDAO {
-    @PersistenceContext(unitName = "GDE-ejbPU")
-    private EntityManager em;
-    
-    public StudyTO createStudy(StudyTO sto) {
-        Study s = Study.fromStudyTO(sto);
-        em.persist(s);
-        return s.toStudyTO();
-    }
-
-    public void deleteStudy(StudyTO sto) {
-        Study s = Study.fromStudyTO(sto);
-        em.remove(s);
-    }
-    public StudyTO updateStudy(StudyTO sto) {
-        Study s = Study.fromStudyTO(sto);
-        Study up = em.merge(s);
-        return up.toStudyTO();
-    }
-    
-    public StudyTO findStudy(StudyTO sto) {
-        Study found = em.find(Study.class, sto.getId());
-        return found.toStudyTO();
-    }
-    
-    private <T> StudyTO findBy(String queryName, String varName, T value) {
-        try {
-            Study found = (Study) em.createNamedQuery(queryName)
-                                    .setParameter(varName, value)
-                                    .getSingleResult();
-            return found.toStudyTO();
-        }
-        catch (Exception e) {
-            return null;
-        }
-    }
-    
-    public StudyTO findById(long id) {
-        return findBy("Study.findById", "id", id);
-    }
-    
-    public StudyTO findByName(String name) {
-        return findBy("Study.findByName", "name", name);
-    }
-    
-    public StudyTO findByCreationDate(Date creationDate) {
-        return findBy("Study.findByCreationDate", "creationDate", creationDate);
-    }
-    
-    public StudyTO findByUpdateDate(Date updateDate) {
-        return findBy("Study.findByUpdateDate", "updateDate", updateDate);
-    }
-    
-    public StudyTO findByDeletionDate(Date deletionDate) {
-        return findBy("Study.findByDeletionDate", "deletionDate", deletionDate);
-    }
-    
-}
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 (file)
index 0000000..7a28660
--- /dev/null
@@ -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/UserDAO.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserDAO.java
deleted file mode 100644 (file)
index ac57a6c..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-package com.edf.gde.ejb;
-
-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")
-    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) {
-
-        if (userExists(userName)) {
-            throw new RuntimeException("Unable to create user " + userName);
-        }
-        User user = new User();
-        user.setName(userName);
-        user.setPassword(password);
-        em.persist(user);
-        return user;
-    }
-
-    /**
-     * Create a new group
-     *
-     * @param groupName
-     * @return the new created Group or null on error
-     */
-    public Group createGroup(String groupName) {
-        if (groupExists(groupName)) {
-            throw new RuntimeException("Unable to create group " + groupName);
-        }
-        Group group = new Group();
-        group.setName(groupName);
-        em.persist(group);
-        return group;
-    }
-
-    /**
-     * Find group
-     *
-     * @param name
-     * @return null if the group does not exists
-     */
-    public Group findGroup(String name) {
-        Group group = null;
-        Query q = em.createNamedQuery("Group.findByName");
-        q.setParameter("name", name);
-        group = (Group) q.getSingleResult();
-        return group;
-    }
-
-    /**
-     *
-     * @param id
-     * @return
-     */
-    public Group findGroup(long id) {
-        Group group = null;
-        Query q = em.createNamedQuery("Group.findById");
-        q.setParameter("id", id);
-        group = (Group) q.getSingleResult();
-        return group;
-    }
-
-    /**
-     *
-     * @param name
-     * @return
-     */
-    private boolean groupExists(String name) {
-        Group group = null;
-        Query q = em.createNamedQuery("Group.findByName");
-        q.setParameter("name", name);
-        try {
-            group = (Group) q.getSingleResult();
-        } catch (Exception ex) {
-            return false;
-        }
-        return true;
-    }
-
-    /**
-     * Add a user to a group
-     *
-     * @param groupId
-     * @param userId
-     * @return
-     */
-    public void addToGroup(long groupId, long userId) {
-        if (!isInGroup(groupId, userId)) {
-            UserGroup userGroup = new UserGroup();
-            userGroup.setGroupId(groupId);
-            userGroup.setUserId(userId);
-            em.persist(userGroup);
-        } else {
-            throw new RuntimeException("Unable to add " + userId + " to group " + groupId);
-        }
-    }
-
-    /**
-     * Add users to a group in one transaction
-     *
-     * @param groupId
-     * @param userIds
-     * @return
-     */
-    public void addToGroup(long groupId, List<Long> userIds) {
-        for (Long id : userIds) {
-            addToGroup(groupId, id);
-        }
-    }
-
-    /**
-     *
-     * @param groupId
-     * @param userId
-     * @return
-     */
-    public void removeFromGroup(long groupId, long userId) {
-        Query q = em.createNamedQuery("UserGroup.findByGroupIdUserId");
-        q.setParameter("groupId", groupId);
-        q.setParameter("userId", userId);
-        List<UserGroup> l = q.getResultList();
-        if (l.isEmpty()) {
-            throw new RuntimeException("UserGroup not found");
-        }
-        UserGroup ug = l.get(0);
-        em.remove(ug);
-    }
-
-    /**
-     *
-     * @param groupId
-     * @param userId
-     * @return
-     */
-    public boolean isInGroup(long groupId, long userId) {
-        Query q = em.createNamedQuery("UserGroup.findByGroupIdUserId");
-        q.setParameter("groupId", groupId);
-        q.setParameter("userId", userId);
-        List<UserGroup> l = q.getResultList();
-        return !l.isEmpty();
-    }
-
-    /**
-     * Find user by user name (login)
-     *
-     * @param userName
-     * @return
-     */
-    public User findUser(String userName) {
-        Query q = em.createNamedQuery("User.findByName");
-        q.setParameter("username", userName);
-        User user = null;
-        user = (User) q.getSingleResult();
-        return user;
-    }
-
-    /**
-     *
-     * @param userName
-     * @return
-     */
-    private boolean userExists(String userName) {
-        Query q = em.createNamedQuery("User.findByName");
-        q.setParameter("username", userName);
-        User user = null;
-        try {
-            user = (User) q.getSingleResult();
-        } catch (Exception ex) {
-            return false;
-        }
-        return true;
-    }
-
-    /**
-     *
-     * @param id
-     * @return
-     */
-    public User findUser(long id) {
-        return em.find(User.class, id);
-    }
-
-    /**
-     *
-     * @param userId
-     * @return
-     */
-    public boolean deleteUser(long userId) {
-        User user = findUser(userId);
-        if (user != null) {
-            em.remove(user);
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     *
-     * @param groupId
-     * @return
-     */
-    public boolean deleteGroup(long groupId) {
-        Group group = findGroup(groupId);
-        if (group != null) {
-            em.remove(group);
-            return true;
-        }
-        return false;
-    }
-}
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 (file)
index 0000000..a72aa84
--- /dev/null
@@ -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<Long> 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);
+    }
+}
index 1715d1ca27092794eecebb754a479411fe64d332..b08b626d88be557d12ea4a69665cbbeddcd6072c 100644 (file)
@@ -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) {